原因分析 原因与RedisTemplate源码中的默认序列化方式有关 defaultSerializer = new JdkSerializationRedisSerializer( classLoader != null ? classLoader : this.getClass().getClassLoader());` 默认序列化使用的是JdkSerializationRedisSerializer,我们进去看看 public JdkSerializationRedisSerializer…
原文链接:http://blog.csdn.net/yunhaibin/article/details/9001198 最近在研究redis,以及spring data对redis的支持发现了一个奇怪的现象 先说现象吧,通过redisTemplate下的opsForHash方法存储hash类型的值,操作成功以后,去redis控制台显示keys * 的时候,发现一个奇怪的现象,插入的hash类型的key前面会有一堆的\xac\xed\x00\x05t\x00\tb 这种东西,见图1 (图1) 看见…
1.问题现象: 最近使用spring-data-redis 和jedis 操作redis时发现存储在redis中的key不是程序中设置的string值,前面还多出了许多类似\xac\xed\x00\x05t\x00这种字符串 2.原因: spring-data-redis的RedisTemplate<K, V>模板类在操作redis时默认使用JdkSerializationRedisSerializer来进行序列化. public void afterPropertiesSet() { sup…
本文开发环境:SpringBoot+RedisTemplate 代码: /** * 缓存Map * * @param key * @param dataMap * @return */ @Override public <T> HashOperations<String, String, T> setCacheMap(String key, Map<String, T> dataMap) { HashOperations hashOperations = redisTe…
spring-data-redis的RedisTemplate<K, V>模板类在操作redis时默认使用JdkSerializationRedisSerializer来进行序列化解决方法,改成StringRedisSerializer private RedisTemplate redisTemplate; @Autowired(required = false) public void setRedisTemplate(RedisTemplate redisTemplate) { Redi…
前端时间新项目使用SpringBoot的RedisTemplate遇到一个问题,先简单描述一下问题:不同项目之间redis共用一个,但是我们新项目读不到老项目存储的缓存.新项目搭建的时候没有跟老项目使用同一个core包里的redisutils工具类,老项目使用的是jedis对象来操作redis,新项目使用了springboot封装的redistemplate,代码上存在差异所以出现问题也就很正常,先来看一下新项目里对redistemplate的使用:(截取一个方法为例) 现象: 可以看出来工具直…
再项目使用了redis储存key,测试需要在客户端删除对应的key,发现查询不到对应的key redis客户端: 发现redisTemplate实际存进去的key会多了几个字符 原因:程序中对key没做序列化存储 如果你用redis客户端查询你想要的key,redisTemplate下面添加这两个属性 <property name="keySerializer">            <bean class="org.springframework.dat…
EXPIRE key seconds 为给定 key 设置生存时间,当 key 过期时(生存时间为 0 ),它会被自动删除. 在 Redis 中,带有生存时间的 key 被称为『易失的』(volatile). 生存时间可以通过使用 DEL 命令来删除整个 key 来移除,或者被 SET 和 GETSET 命令覆写(overwrite),这意味着,如果一个命令只是修改(alter)一个带生存时间的 key 的值而不是用一个新的 key 值来代替(replace)它的话,那么生存时间不会被改变. 比…
Lpop key 返回值: 列表的头元素. 当key 不存在时, 返回 nil . 需求:  开发在执行 lpop key 时, 出现问题 , 执行语句卡住, 不能执行下去 , 需对此做一个监测 由于返回值 nil (这里redis的nil 类似于 null ), 不能用 grep 正则去过滤 , 则想到类似 ping 局域网中ip ,若 执行成功 $?返回 0  , 不成功则返回其他的思路 , 做一个脚本 . 探测局域网中ip是否存在的脚本 写一个脚本,判断172.17.111.0/24的网络…
http://blog.mkfree.com/posts/515835d1975a30cc561dc35d spring-data-redis API:http://docs.spring.io/spring-data/redis/docs/1.5.1.RELEASE/api/ 首先跟大家道歉,为什么呢?在不久之前,写了一篇http://blog.mkfree.com/posts/12,简单地使用是没有问题的,但如果在并发量高的时候,问题就会慢慢出现了,是什么问题呢? 当在高并发的情况下,向re…