vlambda博客
学习文章列表

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报错/