SpringBoot使用Redis清除所有缓存
实现思路:
简单描述一下,通过遍历获取所有Redis的key值,有两种方式,分别是StringRedisTemplate的delete方法和RedisTemplate的delete方法,这里我是调用RedisTemplate对象的delete方法进行删除。
参考代码:
package com.example.business.controller; import com.example.business.vo.JsonResult; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.ResponseBody; import java.util.Set; /** * redis */ @Controller @RequestMapping(value = "/redis") public class RedisController { @Autowired private RedisTemplate redisTemplate; /** * 清除所有缓存 * * @return */ @ResponseBody @RequestMapping(value = "/del-cache", produces = "application/json;charset=UTF-8", method = RequestMethod.POST) public JsonResult delCache() { boolean state = false; Set<String> keys = redisTemplate.keys("*"); for (String key : keys) { redisTemplate.delete(key); state = true; } if (state) { return JsonResult.success("清除缓存成功!"); } else { return JsonResult.error("无缓存数据可清除!"); } } }
这里需要注意的是:使用RedisTemplate缓存时,确保你设置缓存时,也是使用RedisTemplate。
下一篇:
数据库三范式和存储引擎