请问Redis数据推送到JVM后,如果Redis数据发生变化,会同步刷新到JVM中吗
与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
登录 后才可以发表评论