我正在开始一个新项目。在这个项目中,我将使用 Redis 来存储一些必须持久的数据。对于这些数据,我将使用Append Only File (AOF)
持久性。
项目中有 2 个应用程序必须相互通信。为了允许这种通信,我正在考虑使用 Redis 作为“共享内存”。对于“共享内存”这个术语,我的意思是 Redis 的使用是:
- 存储一些将由应用程序 A 更新的密钥(称为
keyA1
, )keyA2
- 存储应用程序 B 更新的其他密钥(称为
keyB1
,keyB2
) - 应用程序 A 读取应用程序 B 更新的密钥 (
keyB1
,keyB2
) - 应用程序 B 读取应用程序 A 更新的密钥 (
keyA1
,keyA2
)
这组键 ( keyA1
、keyA2
、keyB1
、keyB2
) 不得保存在持久内存中。
我的想法是使用 Redis 来避免在应用程序 A 和应用程序 B 之间创建 TCP 通信协议(但我怀疑这样使用 Redis 是不正确的)。这两个应用程序中的每一个都通过写入和读取 Redis 数据库的键
来向对方发送消息并从对方接收消息。
这篇文章告诉我们,不可能只为数据库键的子集激活持久性,因此我正在考虑使用 2 个 Redis 实例。
使用 2 个 Redis 服务器实例(一个在默认端口 6379 上,另一个在端口 6380 上)并设置第一个具有 AOF 持久性而第二个不具有持久性是否正确?
有更好的方法吗?
谢谢