400 Star 3.7K Fork 1.2K

GVP京东零售 / hotkey

 / 详情

Redis数据推送到JVM后,如果Redis数据发生变化,会同步刷新JVM中的数据吗

待办的
任务
创建于  
2020-09-07 11:20

请问Redis数据推送到JVM后,如果Redis数据发生变化,会同步刷新到JVM中吗

评论 (4)

田野里的枫 创建了任务
展开全部操作日志

与redis无关,不依赖redis。
如果缓存的值有变化,可以调用remove(key)方法删除整个集群的该key缓存

可以考虑,通过netty以及etcd通知,发布缓存的值发生了改变这个事件

public static ConcurrentHashMap<String, AtomicInteger> ChangeComing = new ConcurrentHashMap<>();

public String get(String key) {
Object object = JdHotKeyStore.getValue(key);
//如果已经缓存过了
if (object != null)
{
AtomicInteger ref = ChangeComing.get(key);
if (ref != null && ref.compareAndSet(0, 1))
{
String value = getFromRedis(key);
JdHotKeyStore.smartSet(key, value);
ChangeComing.remove(key);
return value;
} else
{
System.out.println("is hot key");
return object.toString();
}
} else
{
String value = getFromRedis(key);
JdHotKeyStore.smartSet(key, value);
return value;
}
} 粗体

不会,框架与redis没有关系

可以通过调用api,remove(String key)方法,删除整个集群内所有缓存的该key

登录 后才可以发表评论

状态
负责人
项目
里程碑
Pull Requests
关联的 Pull Requests 被合并后可能会关闭此 issue
分支
开始日期   -   截止日期
-
置顶选项
优先级
预计工期 (小时)
参与者(3)
303698 tianyalei 1578919857
Java
1
https://gitee.com/jd-platform-opensource/hotkey.git
git@gitee.com:jd-platform-opensource/hotkey.git
jd-platform-opensource
hotkey
hotkey

搜索帮助