java清空redis缓存数据库_java相关:Spring Cache手动清理Redis缓存

java相关:Spring Cache手动清理Redis缓存

发布于 2020-4-24|

复制链接

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

将 cache 的 RedisTemplate 注册为Bean

``` ..

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

```java

@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 .

```java

....

@Autowired

@Qualifier("cacheRedisTemplate")

var cacheRedisTemplate : YsfRedisTemplate[String,Object] = _

...

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

```

这里是scala的语法 , java 同理其他写缓存 , 查缓存 , 都一样操作 .奇异用法

在 Mybatis 的 Dao 上加注解 .

```bash

@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 是如下内容:

```sql

select 1

```


版权声明:本文为weixin_30819757原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。