Redis java如何清除缓存 redisTemplate

最近使用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
如果我们要清除:

		redisTemplate.delete(set);

上面是自己使用的过程中一个存储数据的,和清除redis中的缓存中的一个思路

希望对你有所帮助!

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
你可以使用 `redisTemplate` 将对象保存到 Redis,并使用它将对象取出来。下面是一个示例代码: ```java import org.springframework.data.redis.core.RedisTemplate; import org.springframework.data.redis.serializer.GenericJackson2JsonRedisSerializer; import org.springframework.data.redis.serializer.RedisSerializer; import org.springframework.data.redis.serializer.StringRedisSerializer; public class RedisExample { private RedisTemplate<String, Object> redisTemplate; public RedisExample(RedisTemplate<String, Object> redisTemplate) { this.redisTemplate = redisTemplate; // 设置 key 和 value 的序列化器 RedisSerializer<String> stringSerializer = new StringRedisSerializer(); RedisSerializer<Object> jsonSerializer = new GenericJackson2JsonRedisSerializer(); redisTemplate.setKeySerializer(stringSerializer); redisTemplate.setValueSerializer(jsonSerializer); } public void saveObject(String key, Object object) { redisTemplate.opsForValue().set(key, object); } public Object getObject(String key) { return redisTemplate.opsForValue().get(key); } } ``` 上面的示例中,我们使用了 `RedisTemplate<String, Object>`,其中 `String` 是用于存储 key 的类型,`Object` 是用于存储 value 的类型。在构造函数中,我们设置了 key 和 value 的序列化器为 `StringRedisSerializer` 和 `GenericJackson2JsonRedisSerializer`,前者用于将 key 序列化为字符串,后者用于将 value 序列化为 JSON 字符串。 然后,我们可以使用 `saveObject` 方法将对象保存到 Redis,`getObject` 方法从 Redis 中获取对象。你可以根据需要调整存储的对象类型和 key 的值。 注意,这里使用的是 Spring Data Redis 的 `RedisTemplate`,因此你需要在你的项目中添加相应的依赖。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值