Spring Cache手动清理Redis缓存

作者:孙行者、 时间:2023-11-29 02:49:52 

这篇文章主要介绍了Spring Cache手动清理Redis缓存,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

注册cacheRedisTemplate

将 cache 的 RedisTemplate 注册为Bean


@Bean(name = "cacheRedisTemplate")
public RedisTemplate cacheRedisTemplate(@Qualifier("jedisConnectionFactory") JedisConnectionFactory jedisConnectionFactory,
                     @Qualifier("jedisYsfKeySerializer") RedisSerializer jedisYsfKeySerializer,
                     @Qualifier("jedisYsfValueSerializer") RedisSerializer jedisYsfValueSerializer) {
 RedisTemplate cacheRedisTemplate = new RedisTemplate();
 cacheRedisTemplate.setConnectionFactory(jedisConnectionFactory);
 cacheRedisTemplate.setEnableTransactionSupport(false);
 cacheRedisTemplate.setKeySerializer(jedisYsfKeySerializer);
 cacheRedisTemplate.setValueSerializer(jedisYsfValueSerializer);
 return cacheRedisTemplate;
}

使用cacheRedisTemplate

那么在清除缓存的时候, 可以直接使用 cacheRedisTemplate .


....

@Autowired
@Qualifier("cacheRedisTemplate")
var cacheRedisTemplate : YsfRedisTemplate[String,Object] = _

...

cacheRedisTemplate.delete(s"cc.c.sta.real.in.day:$id-$start-$i")

这里是scala的语法 , java 同理

其他写缓存 , 查缓存 , 都一样操作 .

奇异用法

在 Mybatis 的 Dao 上加注解 .


@CacheEvict(value = CACHE_PREFIX,key = "#root.args[0]+'-'+#root.args[1]+'-'+#root.args[2]")
int clearCache(@Param("id") Long id,
     @Param("start") Long start,
     @Param("type") Integer type) throws DataAccessException;

Mybatis的 sql 是如下内容:


<select id="clearCache" resultType="int">
 select 1
</select>

这个操作并没有实质性的数据库操作 , 只是为了删除缓存 . 6666 ,不失为一种办法....

来源:https://www.cnblogs.com/ElEGenT/p/11770408.html

标签:spring,cache,redis,缓存
0
投稿

猜你喜欢

  • Java中Map实现线程安全的3种方式

    2021-10-07 21:23:36
  • springboot 实战:异常与重定向问题

    2022-03-06 15:44:54
  • 基于C#方法重载的总结详解

    2022-07-29 13:19:46
  • Logback配置文件这么写,还说你不会整理日志?

    2022-10-30 10:23:09
  • 解决SpringBoot web项目启动后立即关闭的问题

    2023-07-26 02:33:37
  • Java基础之关键字final详解

    2022-01-28 00:55:31
  • spring boot项目没有mainClass如何实现打包运行

    2021-10-24 11:29:20
  • Android应用程序模型之应用程序,任务,进程,线程分析

    2021-10-09 02:17:45
  • SpringBoot2零基础到精通之映射与常用注解请求处理

    2022-06-11 15:41:51
  • java中压缩文件并下载的实例详解

    2022-01-01 04:59:12
  • java实现短信验证码5分钟有效时间

    2023-08-30 18:42:26
  • ListView滑动隐藏显示ToolBar的实例

    2022-09-15 23:15:52
  • WPF ProgressBar实现实时进度效果

    2023-01-14 08:05:49
  • Android Oss上传图片的使用示例

    2021-06-23 14:09:35
  • 读取Java文件到byte数组的三种方法(总结)

    2023-08-01 17:19:39
  • Android的UI调优教程

    2021-12-16 01:46:43
  • 详解Zookeeper基础知识

    2023-07-31 08:03:45
  • grails不能运行fork模式解决方法

    2023-05-17 18:37:59
  • Java获取e.printStackTrace()打印的信息方式

    2022-05-18 05:19:26
  • 详解Android Automotive车载应用对驾驶模式Safe Drive Mode的适配

    2022-01-15 07:12:20
  • asp之家 软件编程 m.aspxhome.com