1
0
Files
light-blog/src/main/java/xyz/fortern/config/RedisConfig.java
2024-03-28 04:24:35 +08:00

69 lines
2.7 KiB
Java
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
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;
}
}