我正在探索用于我们的应用程序的不同分布式内存数据库。 我遇到一种情况,想知道Redis Cache和Apache Ignite Cache是否可行?
我正在寻找这种情况(Redis缓存中可用吗?),请参见概述部分https://apacheignite.readme.io/docs/distributed-persistent-store的链接
Redis缓存中可以实现以下功能吗?
假设我有100条记录。缓存只能在磁盘文件上保存40条记录(最常用),在磁盘文件上可以保存100条记录(不在任何其他数据库中)。
答案 0 :(得分:1)
使用Ignite(以及包括Redis在内的绝大部分其他分布式系统),只要监控显示节点即将超出分配的RAM空间,您就可以扩展群集。只需在您的Ignite群集中添加一个额外的节点,数据就会自动重新分配。
此外,使用Ignite,您可以选择启用其本机持久性,以存储超出RAM容量的数据,并可以立即重启。 Ignite会从磁盘读取内容,无需在重新启动时在RAM中预加载任何内容。
希望有帮助。根据提供的详细信息,Ignite非常适合您。
答案 1 :(得分:0)
使用Ignite时,应确保您永远不会用完数据区域内存。没有数据重新分配,该节点将变得不可用。
当节点关闭时,其数据将分发到其他节点(如果配置了足够的备份),但是上述限制仍然适用-节点不应该耗尽内存。
如果添加新节点,一些数据将重新分配给它们。
如果您使用永久模式,您将不会用完内存,因为您的数据只会被写入磁盘。确保不耗尽磁盘空间:)当节点关闭或添加时,该行为将由Baseline Topology控制(通常不会立即移动数据)。