nosql--RedisTemplate定制化
- 1、序列化
- 2、如果使用redis中保存数据会使用默认的序列化机制,导致redis中保存的对象不可视
- 2.1将所有的对象以JSON的形式保存
- 2.2配置reids自定义配置
- 2.3转化成功
- 2.4配置文件代码
- 3redis客户端
1、序列化
stringRedisTemplate
RedisTemplate<Object,Object> redisTemplate
2、如果使用redis中保存数据会使用默认的序列化机制,导致redis中保存的对象不可视
2.1将所有的对象以JSON的形式保存
默认序列化是JdkSerializationRedisSerializer
如果没有redisTemplate配置
2.2配置reids自定义配置
2.3转化成功
2.4配置文件代码
package com.example.boot3.redis.config;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.boot.autoconfigure.condition.ConditionalOnSingleCandidate;
import org.springframework.context.annotation.Bean;
import org.springframework.data.redis.connection.RedisConnectionFactory;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.serializer.GenericJackson2JsonRedisSerializer;
/**
* @author jitwxs
* @date 2023年12月25日 22:23
*/
public class AppTedisConfiguration {
/*
允许Object类型的key-value,都可以转换成json进行存储
@param redisConnecctionFactory 自动配置好连接工厂
@return
*/
@Bean
public RedisTemplate<Object, Object> redisTemplate(RedisConnectionFactory redisConnectionFactory) {
RedisTemplate<Object, Object> template = new RedisTemplate();
template.setConnectionFactory(redisConnectionFactory);
// 把对象转为json字符串的序列化工具
template.setDefaultSerializer(new GenericJackson2JsonRedisSerializer());
return template;
}
}
3redis客户端
RedisTemplate、StringRedisTemplae:操作redis的工具类
要从redis的连接厂获取连接才能操作redis
Redis 客户端:
jedis
Lettuce:默认
配置jedis、lettuce的底层参数
#设置lettuce的底层参数
#spring.data.redis.client-type=lettuce
#spring.data.redis.lettuce.pool.enabled=true
##线程池
#spring.data.redis.lettuce.pool.max-active=8
#设置jedis的底层参数
spring.data.redis.client-type=jedis
spring.data.redis.jedis.pool.enabled=true
spring.data.redis.jedis.pool.max-active=8