0

我们使用具有 10GB RAM 作为缓存服务器和phpredis作为 redis 客户端的 redis 2.6.14。我们都从同一个 redis 服务器写入和读取。

问题是,当流量变高时,我们仍然可以 connect() 这台机器,但是 ping() 会返回 false,是的,只有 false。connected_client 低于 100,used_memory 低于 1GB,qps 约为 1000,这一切看起来都很好。

我们已经检查了我们所知道的几乎所有内容,除了 ping() 在 phpredis/redis 中做了什么?在什么情况下 ping() 会返回错误?显然,当 ping() 错误时,我们的机器仍然可以连接。 https://github.com/nicolasff/phpredis#ping

任何想法?

我通过从 connect() 切换到 pconnect() 解决了这个问题;

4

1 回答 1

0

首先,ping 执行此操作 - http://redis.io/commands/ping 在您的情况下,我认为服务器因 HDD 交互操作而过载。

save在 /etc/redis.conf 中的设置是什么?

对我来说,默认的工作正常。我认为您只需要此设置

save 180 1

如果至少有 1 个数据元素已更改,这将每 3 分钟保存一次完整的数据库

于 2013-11-02T11:49:52.550 回答