SpringBoot使用Redis清除所有缓存实现方式
更新时间:2025年08月28日 10:00:45 作者:程序yang
文章介绍通过遍历删除Redis所有key的方法,推荐使用RedisTemplate的delete方法而非StringRedisTemplate,需确保缓存操作统一使用同类型模板,避免类型不匹配问题
实现思路
简单描述一下,通过遍历获取所有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。
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
Java常用 Date 时间格式化、Calender日历、正则表达式的用法小结
SimpleDateFormat 是Java中用于格式化和解析日期的类,它允许你将日期对象转换为特定格式的字符串,或者将特定格式的字符串转换为日期对象,这篇文章主要介绍了Java常用 Date 时间格式化、Calender日历、正则表达式的用法,需要的朋友可以参考下2024-12-12
java使用JNA(Java Native Access)调用dll的方法
java使用JNA(Java Native Access)调用windows系统的dll文件的例子2013-11-11
使用InputStream的available()能否用来判断当前流是否读取到文件
这篇文章主要介绍了使用InputStream的available()能否用来判断当前流是否读取到文件问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2023-06-06


最新评论