我们使用redis 2.6.14,10GB RAM作为缓存服务器,phpredis作为redis客户端。我们都从同一个redis服务器上写入和读取。
问题是,当流量变高时,我们仍然可以连接()这台机器,但是ping()它将返回false,是的只有false。 connected_client低于100,used_memory低于1GB,qps大约1000,这看起来都很好。
我们已经检查了几乎我们所知道的一切,除了ping()在phpredis / redis中做了什么?在什么情况下ping()会返回错误?显然,ping()错误时我们的机器仍可连接。 https://github.com/nicolasff/phpredis#ping
有什么想法吗?
我已经通过从connect()切换到pconnect()来解决了这个问题;
答案 0 :(得分:0)
首先,ping这样做 - http://redis.io/commands/ping 在您的情况下,我认为服务器超载了硬盘交互操作。
/etc/redis.conf中save
的设置是什么?
对我来说,默认的工作正常。 我认为你只需要这个设置
save 180 1
如果至少有1个数据元素发生了变化,这将使每3分钟保存一次完整的数据库