博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
解决Spring的RedisTemplate.keys()无返回结果的问题
阅读量:6076 次
发布时间:2019-06-20

本文共 922 字,大约阅读时间需要 3 分钟。

hot3.png

项目中某些功能上需要删除以某个字符串为前缀的缓存,但是在使用RedisTemplate时,keys方法始终没有返回,如:

name_1:"AAA",name_2:"BBB",name_3:"CCC"

使用name_*查询,使用获取不到,返回的set集合size为0,但是直接使用完整的key是能获取到数据的

解决方法如下:

第一种,将

<bean id="redisTemplate" class="org.springframework.data.redis.core.RedisTemplate">

    <property name="connectionFactory" ref="jedisConnectionFactory"/>
</bean>

改为StringRedisTemplate

<bean id="redisTemplate" class="org.springframework.data.redis.core.StringRedisTemplate">

    <property name="connectionFactory" ref="jedisConnectionFactory"/>
</bean>

第二种,配置属性keySerializer值为StringRedisSerializer,默认为JdkSerializationRedisSerializer

<bean id="redisTemplate" class="org.springframework.data.redis.core.RedisTemplate">

    <property name="connectionFactory" ref="jedisConnectionFactory"/>
    <property name="keySerializer">
        <bean class="org.springframework.data.redis.serializer.StringRedisSerializer"/>
    </property>
</bean>

 

 

转载于:https://my.oschina.net/857359351/blog/883886

你可能感兴趣的文章
[Python]程序结构与控制流
查看>>
微软发布Windows 8标志:彰显创新回归本源(图)
查看>>
测试常用辅助工具汇总
查看>>
mysql 高性能压力测试(总结了好久)
查看>>
接口测试是什么&接口测试文档规范
查看>>
快速搭建LAMP环境
查看>>
异步编程需要“意识”
查看>>
英语语法时态
查看>>
linux双网卡绑定
查看>>
VR+房產
查看>>
版本管理 GitLab 的安装及管理 (CentOS 7)
查看>>
以太网到以太网的本地交换
查看>>
Windows Server 2012之活动目录域服务部署
查看>>
ORACLE Bug 4431215 引发的血案—处理篇
查看>>
js切割字符串问题
查看>>
微信语音遥控Windows Azure云虚拟机
查看>>
DNS主机记录也能用*
查看>>
监视DNS服务器工作是否正常
查看>>
理解并取证:动态路由协议RIP的工作原理
查看>>
你也可以拥有F5
查看>>