Redis java如何清除缓存 redisTemplate
原创
©著作权归作者所有:来自51CTO博客作者我是大头鸟的原创作品,请联系作者获取转载授权,否则将追究法律责任
最近使用redis来加快数据读取的速度,但是redis 有一个需要注意的是数据的更新,比如数据库信息更新了,那么我需要把redis中的信息也要进行更新。更新是不可能的,需要将redis中的信息删除了重新存入redis
那么redis中的信息如何清除
redis中的信息大部分都是使用键值对的形式存储,如果我们只知道了key,那么我们就可以删除这个缓存
但是往往数据的更新,可能导致的是不是一个缓存需要进行更新,可能是多个,这个时候我们应该如何进行处理
Set redisTemplate.keys(pattern) ;
这个函数返回的是一个set 集合,并且这个set中key满足pattern这个正则表达式的
然后我们还知道:
redisTemplate.delete(set);
可以清除对应的key
如何来进行清除,那么存储的时候key就需要注意了,
最好我们能根据一定的正则匹配找到
第一步: 首先我们看.xml
<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>
第二步:
存储按照一定的规则
public class MSG {
public static String RedisArticleInfo="@artilceinfo";
}
redisService.set(“3uanhhw81238823”+MSG.RedisArticleInfo, value);
redisService.set(“737813823nnasdns”+MSG.RedisArticleInfo, value);
这样我们可以通过
String pattern=“*”+MSG.RedisArticleInfo;
redisTemplate.keys(pattern);
获取相关的key
如果我们要清除:
上面是自己使用的过程中一个存储数据的,和清除redis中的缓存中的一个思路
希望对你有所帮助!