PHP中Redis、RedisArray和RedisCluster类之间有什么区别



在我的DEV机器上,我使用Redis类,它运行良好。在我的LIVE服务器上,我使用RedisArray和/或RedisCluster类。

来自RedisArray文档:

Redis数组可以用作Redis对象。

来自RedisCluster文档:

对于大多数操作,RedisCluster类可以作为Redis类的替代品,而无需修改其调用方式。

最近我注意到我的LIVE服务器上有数据丢失。我的意思是,当使用RedisArray或RedisCluster时,有时一些数据会消失。这是RedisArray/RedisCluster的正常行为吗?有没有办法防止数据丢失?

根据PhpRedis的GitHub存储库问题跟踪器中的一个非常相似的问题:

当您使用Redis作为缓存并禁用持久化时,您必须使用分片(RedisArray(来避免后端和Redis之间的高流量问题。

此外,PhpRedis的一位作者在SO的另一个问题中复制了一封电子邮件。请注意,这个问题已经7年了,但答案是5年前编辑的。

RedisArray似乎支持客户端密钥分片(在Redis Cluster正式支持之前引入(,RedisCluster使用Redis Cluster的官方功能。

最新更新