• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase
您的位置:首页 > 数据库 >Redis > phpredis提高消息队列的实时性方法(推荐)

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

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-11

通过本文主要向大家介绍了phpredis,phpredis下载,phpredis扩展,安装phpredis,windows phpredis等相关知识,希望本文的分享对您有所帮助

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

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

/*消息队列实例*/

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));

  }
</div>

读取 逻辑当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;
  }
</div>

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

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • phpredis提高消息队列的实时性方法(推荐)
  • php结合redis实现高并发下的抢购、秒杀功能的实例

相关文章

  • 2017-05-11Redis集合类型的常用命令小结
  • 2017-05-11Redis简介
  • 2017-05-11详解Redis用链表实现消息队列
  • 2017-05-11Windows下Redis的安装使用图解
  • 2017-05-11NoSQL和Redis简介及Redis在Windows下的安装和使用教程
  • 2017-05-11Redis中的动态字符串学习教程
  • 2017-09-08redis命令大全
  • 2017-05-11Ubuntu下安装redis的2种方法分享
  • 2017-05-11Redis总结笔记(一):安装和常用命令
  • 2017-08-28centos安装redis

文章分类

  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase

最近更新的内容

    • 利用ganglia监控redis的最新解决方法
    • Linux下Redis安装配置教程
    • redis中使用java脚本实现分布式锁
    • Redis总结笔记(二):C#连接Redis简单例子
    • 将MongoDB作为Redis式的内存数据库的使用方法
    • Redis Sentinel服务配置流程(详解)
    • Redis中的数据过期策略详解
    • 简单粗暴的Redis数据备份和恢复方法
    • Redis数据库的使用场景介绍(避免误用Redis)
    • Redis整合Spring结合使用缓存实例

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有