摘要:一在文件中引入二配置地址等配置数据库索引默认为服务器地址服务器连接端口服务器连接密码默认为空连接池最大连接数使用负值表示没有限制连接池最大阻塞等待时间使用负值表示没有限制连接池中的最大空闲连接连接池中的最小空闲连接连接超时时
一、在pom文件中引入redis
二、配置Redis地址等配置org.springframework.boot spring-boot-starter-redis RELEASE
# Redis数据库索引(默认为0) spring.redis.database= 0 # Redis服务器地址 spring.redis.host= ip # Redis服务器连接端口 spring.redis.port=6379 # Redis服务器连接密码(默认为空) spring.redis.password= password # 连接池最大连接数(使用负值表示没有限制) spring.redis.pool.max-active=8 # 连接池最大阻塞等待时间(使用负值表示没有限制) spring.redis.pool.max-wait=-1 # 连接池中的最大空闲连接 spring.redis.pool.max-idle=8 # 连接池中的最小空闲连接 spring.redis.pool.min-idle=0 # 连接超时时间(毫秒) spring.redis.timeout=0三、编写操作Redis的工具类 四、接下来要说的就是关于key值"乱码"问题
这次主要的问题是,在这过程中可以操作Redis数据库 ,但是在登陆服务器的时候用redis-cli查看key的时候找不到相对应的key,而是出现了以下的这种情况
那么在存key的时候为什么会出现这种"乱码"的情况呢?
其实这里的"乱码"并不是真的乱码,那是因为我们还缺少了一点配置,那就是对Redis存key或者value的时候,没有配置字符串序列化。没有配置的话是默认使用jdk本身的序列化的,点进去RedisTemplate里面去看,可以看到
因为spring操作redis是在jedis客户端基础上进行的,而jedis客户端与redis交互的时候协议中定义是用byte类型交互,看到spring-data-redis中RedisTemplate
其实在这里应该先提前利用springboot的自动装配,先将这些东西配置好,这些配置在网上可以找到,springboot集成redis配置
@Configuration @EnableAutoConfiguration public class RedisConfig { @Bean public RedisTemplateredisTemplate(RedisConnectionFactory factory) { StringRedisTemplate redisTemplate = new StringRedisTemplate(factory); Jackson2JsonRedisSerializer jackson2JsonRedisSerializer = new Jackson2JsonRedisSerializer(Object.class); ObjectMapper om = new ObjectMapper(); om.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY); om.enableDefaultTyping(ObjectMapper.DefaultTyping.NON_FINAL); jackson2JsonRedisSerializer.setObjectMapper(om); //设置完这个可以直接将对象以json格式存入redis中,但是取出来的时候要用JSON.parseArray(Json.toJsonString(object),Object.class)解析一下 redisTemplate.setValueSerializer(jackson2JsonRedisSerializer); redisTemplate.setHashValueSerializer(jackson2JsonRedisSerializer); //调用后完成设置 redisTemplate.afterPropertiesSet(); return redisTemplate; }
其实不用配置这些,Redis也可以正常使用的,不过为了防止日后出现问题方便排查,还是花一点点时间将这些配置加上吧~
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/72421.html
摘要:前言两个月没更新原创了,实在惭愧。在实现方面,存储代表空间中最大和最老的成员之一。支持数据结构,如字符串,散列,列表,集和带范围查询的有序集。所以我代码里了两个字符串,其实只了一个。另外,关注之后在发送可领取免费学习资料。 微信公众号:一个优秀的废人。如有问题,请后台留言,反正我也不会听。 showImg(https://segmentfault.com/img/remote/1460...
阅读 1901·2021-09-30 09:46
阅读 1312·2019-08-30 15:43
阅读 1088·2019-08-29 13:28
阅读 1895·2019-08-29 11:24
阅读 1635·2019-08-26 13:22
阅读 3636·2019-08-26 12:01
阅读 1787·2019-08-26 11:33
阅读 3207·2019-08-23 15:34