春のキャッシュを手動でキャッシュをクリア

春キャッシュRedisのは、手動でキャッシュをクリア

登録cacheRedisTemplate

RedisTemplateのキャッシュはビーンとして登録しました

@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のダオに注釈を追加します。

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

SQLのMyBatisのは、次のとおりです。

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

この操作は、単にキャッシュを削除するには、かなりのデータベース操作ではありません。6666、結局、道....

おすすめ

転載: www.cnblogs.com/ElEGenT/p/11770408.html
おすすめ