PHP下使用Redis消息队列发布微博(复制)
phpRedisAdmin :github地址 图形化管理界面
git clone https://github.com/ErikDubbelboer/phpRedisAdmin.git
cd phpRedisAdmin
git clone https://github.com/nrk/predis.git vendor
首先安装上述的Redis图形化管理界面,能够方便的管理Redis数据
为了降低Mysql的并发数,先把用户的微博存在Redis中
假设用户发布的时候需要三个字段,uid(用户ID号),username(用户姓名),content('用户的评论')
比如用户传递以下信息
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
<?php //此处需要安装phpredis $redis = new Redis(); $redis ->connect( '127.0.0.1' , 6379); // 连接redis $web_info = array ( 'uid' => '123456' , 'username' => '123' , 'content' => '123' ); //将数组转成json来存储 $list = json_encode( $web_info ); //lpush向KEY对应的头部添加一个字符串元素 $redis ->lpush( 'weibo_lists' , $list ); $redis ->close(); ///var_dump(json_encode($web_info)); var_dump( $list ); ?> |
此处可以看到我们的redis已经有数据了
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
//创建一个PDO数据库链接 data.php <?php class qq{ public function post( $uid = '' , $username = '' , $content = '' ){ try { $dsn = "mysql:host;dbname=localhost;dbname=test" ; $db = new PDO( $dsn , 'root' , 'root' ); $db -> exec ( "SET NAMES UTF8" ); $sql = "insert into test(uid,username,content)values('$uid','$username','$content')" ; $db -> exec ( $sql ); } catch (PDOException $e ){ $e ->getMessage(); } } } |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
//处理redis数据库的数据 并把数据放到MYSQL数据库中 <?php include "data.php" ; $qq = new qq(); $redis = new Redis(); $redis ->connect( '127.0.0.1' , 6379); //返回的列表的大小。如果列表不存在或为空,该命令返回0。如果该键不是列表,该命令返回FALSE if ( $redis -> lsize( 'weibo_lists' )){ //从LIST头部删除并返回删除数据 $info = $redis ->rpop( 'weibo_lists' ); $info = json_decode( $info ); $qq ->post( $info ->uid, $info ->username, $info ->content); } $redis ->close(); var_dump( $info ); ?> |
我们能看到数据库已经有数据了
PHP下使用Redis消息队列发布微博(复制)的更多相关文章
- PHP下使用Redis消息队列发布微博
phpRedisAdmin :github地址 图形化管理界面 git clone [url]https://github.com/ErikDubbelboer/phpRedisAdmin.git[ ...
- 【转】redis 消息队列发布订阅模式spring boot实现
最近做项目的时候写到一个事件推送的场景.之前的实现方式是起job一直查询数据库,看看有没有最新的消息.这种方式非常的不优雅,反正我是不能忍,由于羡慕本身就依赖redis,刚好redis 也有消息队列的 ...
- 使用jedis实现Redis消息队列(MQ)的发布(publish)和消息监听(subscribe)
前言: 本文基于jedis 2.9.0.jar.commons-pool2-2.4.2.jar以及json-20160810.jar 其中jedis连接池需要依赖commons-pool2包,json ...
- java-spring基于redis单机版(redisTemplate)实现的分布式锁+redis消息队列,可用于秒杀,定时器,高并发,抢购
此教程不涉及整合spring整合redis,可另行查阅资料教程. 代码: RedisLock package com.cashloan.analytics.utils; import org.slf4 ...
- redis消息队列简单应用
消息队列出现的原因 随着互联网的高速发展,门户网站.视频直播.电商领域等web应用中,高并发.大数据已经成为基本的标识.淘宝双11.京东618.各种抢购.秒杀活动.以及12306的春运抢票等,他们这些 ...
- logstash解耦之redis消息队列
logstash解耦之redis消息队列 架构图如下: 说明:通过input收集日志消息放入消息队列服务中(redis,MSMQ.Resque.ActiveMQ,RabbitMQ),再通过output ...
- 预热一下吧《实现Redis消息队列》
应用场景 为什么要用redis?二进制存储.java序列化传输.IO连接数高.连接频繁 一.序列化 这里编写了一个java序列化的工具,主要是将对象转化为byte数组,和根据byte数组反序列化成ja ...
- Redis之Redis消息订阅发布简介
概念: Redis消息订阅发布是进程间的一种消息通信模式,发送者pub发送消息,订阅者sub接收消息. 使用须知: 需要先订阅后发布,才能接收到消息.在订阅时,相当于创建了可供发布的频道. 案例: ( ...
- Redis 消息队列的实现
概述 Redis实现消息队列有两种形式: 广播订阅模式:基于Redis的 Pub/Sub 机制,一旦有客户端往某个key里面 publish一个消息,所有subscribe的客户端都会触发事件 集群订 ...
随机推荐
- 【BZOJ】1016: [JSOI2008]最小生成树计数(kruskal+特殊的技巧)
http://www.lydsy.com/JudgeOnline/problem.php?id=1016 想也想不到QAQ 首先想不到的是:题目有说,具有相同权值的边不会超过10条. 其次:老是去想组 ...
- python爬虫<urlopen error [Errno 10061] >
在网上看了十几篇文章,都是说的是IE的代理设置,具体是: Tools->Internet Options->Connections->Lan Settings 将代理服务器的小勾勾去 ...
- QQ空间定时留言程序。
已经可以自动登录了... 求指点..... 注意:启动时QQ号要填别人的.(留言程序只支持给别人留言) 源码路径: https://github.com/gaoconggit/QQ-.git
- LAMP环境搭建博客
背景: 公司要用到lamp环境,让我装,我就开始着手找资料,一般分为源码装和yum装,源码装很容易出错,所以我选择了yum装,. 服务器:aliyun服务器 centos6.8系统 按照第一个安装完 ...
- ArcGIS 同一要素图层合并
- Fragment之间传数据
1.用bundle存Bundle bundle = new Bundle();bundle.putString("cid1", classList.get(i).getId()); ...
- [Docker]——container和主机(host)之间的文件拷贝
1. 从 container 到 主机(host) 使用 docker cp 命令 docker cp <containerId>:/file/path/within/container ...
- sql 提升查询效率 group by option hash group
问题: 一个程序查询经常超过20siis限制时间,排查问题后发现其中的一个存储过程时间会在15s左右 解决思路: 1:确认问题点 通过输出时间的方式查看存储过程中每个部分的执行时间,找到最耗时的三个过 ...
- 160307、Java调用Oracle存储过程返回结果集
一:无返回值的存储过程调用 存储过程: CREATE OR REPLACE PROCEDURE PRO_1(PARA1 IN VARCHAR2,PARA2 IN VARCHAR2) AS BEGI ...
- 【MongoDB】从入门到精通mongdb系列学习宝典,想学mongodb小伙伴请进来
最近一段时间在学习MongoDB,在学习过程中总共编写了四十余篇博客.从mongodb软件下载到分片集群的搭建. 从理论讲解到实例练习.现在把所有博客的内容做个简单目录,方便阅读的小伙伴查询. 一. ...