作者:友盟+技术专家 鹏程
一、背景
数据源列表添加缓存支持,types字段可传多值,如app, mini, web等,会构建如下缓存key,
- application_list:123456:app
- application_list:123456:mini
- application_list:123456:web
- application_list:123456:app,mini
- application_list:123456:app,web
- application_list:123456:mini,web
- application_list:123456:app,mini,web
- ...
当创建应用,更新应用或删除应用的时候,需要批量删除旧版本缓存。
二、思路
1.按照前缀 `application_list:123456`,查询所有相关的key
2.遍历keys,执行删除
/**
* 移除缓存
*
* @param prefix prefix
*/
public static void deleteByPrefix(String prefix) {
long start = System.currentTimeMillis();
Set<String> keys;
try {
keys = jedisCluster.keys(CacheKeyUtils.buildCac