实际上,我正在尝试Hazelcast提供缓存数据的原型。Hazelcast部署在Spring Boot Microservice中。
我们使用分布式查询来搜索具有部分键值的条目。
我们的基础设施目前只能提供一个微服务实例。映射与数据库中的 MapStore-实现一起持久化。
如果微服务关闭,我们将丢失内存中的所有数据,并且分布式查询不会返回任何结果。使用 loadAllKeys() 等通过 MapStore 初始化内存中的数据不是一种方法,因为我们将在数据库中加载大量条目。
作为临时解决方案,我们直接查找数据库。这肯定不是最好的解决方案,但它目前有效。我们希望有一个正确的解决方案。有人知道如何做到这一点吗?
最好
如果关闭群集并使用loadAllKeys()
重新填充,这将以数据库可以处理的速度运行。如果时间太长,那是因为数据库太慢。
找到更快的持久存储是真正的答案,尽管减少中断次数也会有所帮助。
后者需要设计思维,例如便携式对象允许内存中的数据在不重新加载的情况下更改格式。