在我的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的官方功能。