php连接redis报错Redis server went away,求助

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php连接redis报错Redis server went away,求助相关的知识,希望对你有一定的参考价值。

参考技术A 需要看看用来跑redis服务器的内存是多少,redis填充数据后内存占用有多少了。
如果内存使用达到1,2G,写入又比较频繁时,redis保存数据到磁盘时会占用cpu和i/o拖慢系统的。
你可以去后盾人平台看看,里面的东西不错本回答被提问者采纳

php使用redis可忽略redis报错

1、php安装redis扩展

2、使用redis(无密码)

  1. <?php

  2. $REDIS_STATE=1;// 检测redis状态

  3. try {

  4. // redis  单台redis

  5. $redis = new Redis();

  6. //连接参数:ip、端口、连接超时时间,连接成功返回true,否则返回false

  7. $redis->connect('127.0.0.1', 6379, 30);

  8. //密码认证:成功返回true,否则返回false

  9. //$ret = $redis->auth('xxww'); 

  10. // $redis->close();//释放资源 

  11. }

  12. catch(\ErrorException $e) {

  13.   $REDIS_STATE=0;

  14. //echo '<br>error:'.$e.'<br>';

  15. }

  16. catch(\Exception $e) {

  17.   $REDIS_STATE=0;

  18. //echo '<br>error-->'.$e.'<br>';

  19. }

  20. //服务器异常状态通知。

  21. //定义类型,及通知过期时间, 在未过期时间内 同样类型的错误不再推送

  22. // 包含redis的文件调用方式,

  23. if($REDIS_STATE==1){

  24. $redis->set('mystr', 'Welcome!xx');

  25. //获取键值:成功返回String类型键值,若key不存在或不是String类型则返回false

  26. $ret = $redis->get('mystr');

  27. echo $ret;

  28. }else{

  29.   echo 'redis error!';

  30. }

探讨:在使用redis的时候通过$REDIS_STATE的值来判断redis的服务状态如何,如果服务状态异常,则php处理的时候需要停止操作redis转向直接操作数据库。这样会造成数据库压力加大,所以最好在redis报错的时候触发通知事件,方便及时响应。

每次决定操作或读取redis的时候可以先行判断redis状态与键值等状态,然后处理业务逻辑。

基于互联网精神,在注明出处的前提下本站文章可自由转载!

本文链接:https://ranjuan.cn/php使用redis可忽略redis报错/



以上是关于php连接redis报错Redis server went away,求助的主要内容,如果未能解决你的问题,请参考以下文章

php连接redis,报错ERROR:同步数据异常

redis使用及远程连接

redis报错

redis安装报错

window下安装redis报错

linux centos6.8下 php连接redis读取数据间歇性502解决