phpredis提高消息队列的实时性方法(推荐)

发布时间 - 2026-01-10 21:49:27    点击率:

数据库存贮都用list形式 要存2个队列 1个用作消息队列保存到数据 还有个 就是用来实时读取数据在redis

 $redis->lpush($queenkey, json_encode($array));
    $redis->lpush($listkey, json_encode($array));

/*消息队列实例*/

public function insertinfo()
  {
    $infos = array('info1' => mt_rand(10,100), 'info2' => mt_rand(10,100));
    $this->insertinfos($infos, 'tutorial-list','tutoriallist');
  }



 public function insertinfos($array, $queenkey,$listkey)
  {
    //连接本地的 Redis 服务
    $redis = new \Redis();
    $redis->connect('127.0.0.1', 6379);
    //存储数据到列表中
    $redis->lpush($queenkey, json_encode($array));
    $redis->lpush($listkey, json_encode($array));

  }

读取 逻辑当redis key没有了 就读取数据库 然后重新写入list 有的话就读取redis数据

 /*读取实例*/

  public function getinfo()
  {
    $sql = 'select * from mobantestinfo';
    $result = $this->getinfos('tutoriallist', $sql);

    //redis key不为空 直接读取redis
    if(empty($result)){
      //连接本地的 Redis 服务
      $redis = new \Redis();
      $redis->connect('127.0.0.1', 6379);
      // 获取存储的数据并输出
      $result = $redis->lrange('tutoriallist', 0, -1);
      foreach ($result as $k=>$v){
        $result[$k]=json_decode($v,true);
      }
      print_r($result);
      exit();
    }
  }
  
  function getinfos($key, $sql)
  {
    //连接本地的 Redis 服务
    $redis = new \Redis();
    $redis->connect('127.0.0.1', 6379);

    // 获取存储的数据
    $result = $redis->lrange($key, 0, 1);

    if (empty($result)) {
      $VModel = new HuanShanVoteModel();
      $result = $VModel->query($sql);

      //重新将缓存队列的形式放入数据库
       foreach ($result as $k=>$v){
      //这个地方要从右边插入 来保证跟数据库顺序一样
        $redis->rpush($key,json_encode($v));
       }
    } else {
      $result=0;

    }


    return $result;
  }

以上就是小编为大家带来的phpredis提高消息队列的实时性方法(推荐)全部内容了,希望大家多多支持~


# redis  # 消息队列  # 详解PHP多个进程配合redis的有序集合实现大文件去重  # redis 队列操作的例子(php)  # php中使用redis队列操作实例代码  # PHP使用php-resque库配合Redis实现MQ消息队列的教程  # php+redis消息队列实现抢购功能  # PHP实现电商订单自动确认收货redis队列  # php基于Redis消息队列实现的消息推送的方法  # PHP基于Redis消息队列实现发布微博的方法  # PHP+Redis 消息队列 实现高并发下注册人数统计的实例  # PHP使用redis消息队列发布微博的方法示例  # PHP实现基于Redis的MessageQueue队列封装操作示例  # php使用redis的有序集合zset实现延迟队列应用示例  # 有个  # 都用  # 小编  # 大家多多  # 为空  # 没有了  # 列表中  # function  # insertinfo  # public  # listkey  # infos  # insertinfos  # mt_rand  # pre  # class  # connect  # list  # phpredis 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: MySQL查询结果复制到新表的方法(更新、插入)  网页设计与网站制作内容,怎样注册网站?  深圳防火门网站制作公司,深圳中天明防火门怎么编码?  在线教育网站制作平台,山西立德教育官网?  JavaScript如何操作视频_媒体API怎么控制播放  昵图网官网入口 昵图网素材平台官方入口  js实现点击每个li节点,都弹出其文本值及修改  公司门户网站制作流程,华为官网怎么做?  Linux系统命令中tree命令详解  Laravel如何集成第三方登录_Laravel Socialite实现微信QQ微博登录  什么是javascript作用域_全局和局部作用域有什么区别?  制作网站软件推荐手机版,如何制作属于自己的手机网站app应用?  Laravel队列任务超时怎么办_Laravel Queue Timeout设置详解  活动邀请函制作网站有哪些,活动邀请函文案?  JS去除重复并统计数量的实现方法  HTML5段落标签p和br怎么选_文本排版常用标签对比【解答】  如何获取上海专业网站定制建站电话?  nodejs redis 发布订阅机制封装实现方法及实例代码  Python数据仓库与ETL构建实战_Airflow调度流程详解  小米17系列还有一款新机?主打6.9英寸大直屏和旗舰级影像  如何获取免费开源的自助建站系统源码?  mc皮肤壁纸制作器,苹果平板怎么设置自己想要的壁纸我的世界?  如何快速上传自定义模板至建站之星?  谷歌Google入口永久地址_Google搜索引擎官网首页永久入口  魔方云NAT建站如何实现端口转发?  Swift开发中switch语句值绑定模式  php8.4header发送头信息失败怎么办_php8.4header函数问题解决【解答】  非常酷的网站设计制作软件,酷培ai教育官方网站?  nginx修改上传文件大小限制的方法  php结合redis实现高并发下的抢购、秒杀功能的实例  如何打造高效商业网站?建站目的决定转化率  jQuery validate插件功能与用法详解  Win11搜索栏无法输入_解决Win11开始菜单搜索没反应问题【技巧】  大连企业网站制作公司,大连2025企业社保缴费网上缴费流程?  html5如何实现懒加载图片_ intersectionobserver api用法【教程】  php嵌入式断网后怎么恢复_php检测网络重连并恢复硬件控制【操作】  Laravel如何处理跨站请求伪造(CSRF)保护_Laravel表单安全机制与令牌校验  Bootstrap CSS布局之列表  如何快速生成ASP一键建站模板并优化安全性?  Android 常见的图片加载框架详细介绍  如何快速选择适合个人网站的云服务器配置?  如何在局域网内绑定自建网站域名?  电商网站制作价格怎么算,网上拍卖流程以及规则?  Win11怎么关闭透明效果_Windows11辅助功能视觉效果设置  Laravel API路由如何设计_Laravel构建RESTful API的路由最佳实践  C++时间戳转换成日期时间的步骤和示例代码  Laravel如何实现数据导出到PDF_Laravel使用snappy生成网页快照PDF【方案】  千问怎样用提示词获取健康建议_千问健康类提示词注意事项【指南】  Laravel如何从数据库删除数据_Laravel destroy和delete方法区别  Laravel如何使用Seeder填充数据_Laravel模型工厂Factory批量生成测试数据【方法】