更新hazelcast IMap中的值,该值具有MapStore,但没有数据库执行存储

更新hazelcast IMap中的值,该值具有MapStore,但没有数据库执行存储,hazelcast,Hazelcast,我在mysql上使用hazelcast进行分布式缓存。我有一个地图来存储用户信息,使用MapStore配置,数据库中的用户信息有时会因其他原因而更改,而不是来自我的应用程序,我想更新缓存而不更新数据库。 如何操作?您可以使用IMap.putTransient更新条目,而无需持久保存到MapStore。或者,您可以使用IMap退出条目。退出,然后在下一次get时,它将从地图存储中加载。这是一个好问题。让我看看能不能得到那个信息。你知道怎么做吗?您可以在数据库上使用触发器调用mysql用户定义函数,

我在mysql上使用hazelcast进行分布式缓存。我有一个地图来存储用户信息,使用MapStore配置,数据库中的用户信息有时会因其他原因而更改,而不是来自我的应用程序,我想更新缓存而不更新数据库。
如何操作?

您可以使用
IMap.putTransient
更新条目,而无需持久保存到MapStore。或者,您可以使用
IMap退出条目。退出
,然后在下一次
get
时,它将从地图存储中加载。

这是一个好问题。让我看看能不能得到那个信息。你知道怎么做吗?您可以在数据库上使用触发器调用mysql用户定义函数,从中更新hazelcast缓存吗?@alihaider:我手动管理hazelcast中缓存的内容以及如何存储到数据库中,忽略MapStore。@bachden-如果应用程序外的DB信息发生更改,我以为您想更新hazelcast。想知道是否可以通过trigger捕获该更改,tat trigger可以调用mysql中的用户定义函数,然后该函数可以连接到hazelcast并在那里更新信息。也许我误解了什么请注意,
putTransient
使用了“hashCode和等于二进制形式的键”。对于简单键来说这不是问题,但我刚刚花了一个下午的时间在屏幕上敲打我的头,因为一个包含
集合的复合键出现了问题-集合类型是一个
哈希集
,它不能保证顺序,当我切换到
数组列表时,它工作得非常好。