69 lines
2.7 KiB
Java
69 lines
2.7 KiB
Java
package xyz.fortern.config;
|
||
|
||
import org.springframework.context.annotation.Bean;
|
||
import org.springframework.context.annotation.Configuration;
|
||
import org.springframework.data.redis.connection.RedisConnectionFactory;
|
||
import org.springframework.data.redis.core.RedisTemplate;
|
||
import org.springframework.data.redis.serializer.JdkSerializationRedisSerializer;
|
||
import org.springframework.data.redis.serializer.StringRedisSerializer;
|
||
|
||
@Configuration
|
||
public class RedisConfig {
|
||
@Bean//("objectRedisTemplate")
|
||
public RedisTemplate<String,Object> redisTemplate(RedisConnectionFactory redisConnectionFactory){
|
||
//redis模板对象
|
||
RedisTemplate<String,Object> template = new RedisTemplate<>();
|
||
|
||
//设置连接工厂
|
||
template.setConnectionFactory(redisConnectionFactory);
|
||
|
||
//设置自定义序列化方式
|
||
//key:字符串类型,使用string的序列化方式
|
||
StringRedisSerializer stringRedisSerializer = new StringRedisSerializer();
|
||
|
||
//value是object类型,使用fastjson的序列化方式,直接序列化对象
|
||
//FastJsonRedisSerializer<Object> fastJsonRedisSerializer = new FastJsonRedisSerializer<>(Object.class);
|
||
JdkSerializationRedisSerializer jdkSerializationRedisSerializer = new JdkSerializationRedisSerializer();
|
||
|
||
//指定序列化和反序列化方式
|
||
template.setKeySerializer(stringRedisSerializer);
|
||
template.setValueSerializer(jdkSerializationRedisSerializer);
|
||
template.setHashKeySerializer(stringRedisSerializer);
|
||
template.setHashValueSerializer(jdkSerializationRedisSerializer);
|
||
|
||
//初始化模板
|
||
template.afterPropertiesSet();
|
||
|
||
return template;
|
||
}
|
||
|
||
//@Bean("hashRedisTemplate")
|
||
public RedisTemplate<String, Object> hashRedisTemplate(RedisConnectionFactory redisConnectionFactory){
|
||
//redis模板对象
|
||
RedisTemplate<String,Object> template = new RedisTemplate<>();
|
||
|
||
//设置连接工厂
|
||
template.setConnectionFactory(redisConnectionFactory);
|
||
|
||
//设置自定义序列化方式
|
||
//key:字符串类型,使用string的序列化方式
|
||
StringRedisSerializer stringRedisSerializer = new StringRedisSerializer();
|
||
|
||
//value是object类型,使用fastjson的序列化方式,直接序列化对象
|
||
//FastJsonRedisSerializer<Object> fastJsonRedisSerializer = new FastJsonRedisSerializer<>(Object.class);
|
||
JdkSerializationRedisSerializer jdkSerializationRedisSerializer = new JdkSerializationRedisSerializer();
|
||
|
||
//指定序列化和反序列化方式
|
||
template.setKeySerializer(stringRedisSerializer);
|
||
template.setValueSerializer(jdkSerializationRedisSerializer);
|
||
template.setHashKeySerializer(stringRedisSerializer);
|
||
template.setHashValueSerializer(jdkSerializationRedisSerializer);
|
||
|
||
//初始化模板
|
||
template.afterPropertiesSet();
|
||
|
||
return template;
|
||
}
|
||
}
|
||
|