redis+php实现微博(三)微博列表功能详解

本文实例讲述了redis+php实现微博列表功能。分享给大家供大家参考,具体如下:

个人主页显示微博列表(自己及关注人的微博列表)

/*获取最新的50微博信息列表,列出自己发布的微博及我关注用户的微博
*1.根据推送的信息获取postid
*2.根据postid获取发送的信息
*/
$r->ltrim("recivepost:".$user['userid'],0,49);
$postid_arr = $r->sort("recivepost:".$user['userid'],array('sort'=>'desc'));
if($postid_arr){
  foreach($postid_arr as $postid){
    $p = $r->hmget("post:postid:".$postid,array('userid','username','time','content'));
    $weiboList .= '<div class="post"><a class="username" href="profile.php?u='.$p['username'].'" rel="external nofollow" rel="external nofollow" >'.$p['username'].'</a>'.$p['content'].'<br><i>'.formattime($p['time']).'前发布</i></div>';
  }
  echo $weiboList;
}else{
  echo '<div class="post" >这个家伙很懒,还未发布消息哦~</div>';
}

显示个人微博列表

/**
*1.获取个人发布微博的id的队列
*2.根据postid获取微博信息
**/
$r->ltrim("userpostid:".$prouid,0,49);
$postid_arr = $r->sort("userpostid:".$prouid,array('sort'=>'desc'));
if($postid_arr){
  foreach($postid_arr as $postid){
    $p = $r->hmget("post:postid:".$postid,array('userid','username','time','content'));
    $weiboList .= '<div class="post"><a class="username" href="profile.php?u='.$p['username'].'" rel="external nofollow" rel="external nofollow" >'.$p['username'].'</a>'.$p['content'].'<br><i>'.formattime($p['time']).'前发布</i></div>';
  }
  echo $weiboList;
}else{
  echo '<div class="post" >这个家伙很懒,还未发布消息哦~</div>';
}

更多关于PHP相关内容感兴趣的读者可查看本站专题:《php+redis数据库程序设计技巧总结》、《php面向对象程序设计入门教程》、《PHP基本语法入门教程》、《PHP数组(Array)操作技巧大全》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

希望本文所述对大家PHP程序设计有所帮助。

(0)

相关推荐

  • PHP+redis实现微博的拉模型案例详解

    本文实例讲述了PHP+redis实现微博的拉模型.分享给大家供大家参考,具体如下: 上回写了一篇推模型的内容,这回分享一篇拉模型的内容. 拉模型 拉模型就是展示微博的时候,获取自己的所有关注的人,然后从关注的人中拉取最新微博. 微博项目数据结构设计 user表设计 注册的时候将user数据写入redis中,key如下: user数据的key 用户名=user:uesrid:$uesrid:username 密码=user:userid:$userid:password 还需要这样写一份,因为需要

  • PHP基于Redis消息队列实现发布微博的方法

    本文实例讲述了PHP基于Redis消息队列实现发布微博的方法.分享给大家供大家参考,具体如下: phpRedisAdmin :github地址  图形化管理界面 git clone [url]https://github.com/ErikDubbelboer/phpRedisAdmin.git[/url] cd phpRedisAdmin git clone [url]https://github.com/nrk/predis.git[/url] vendor 首先安装上述的Redis图形化管理

  • php结合redis实现高并发下的抢购、秒杀功能的实例

    抢购.秒杀是如今很常见的一个应用场景,主要需要解决的问题有两个: 1 高并发对数据库产生的压力 2 竞争状态下如何解决库存的正确减少("超卖"问题) 对于第一个问题,已经很容易想到用缓存来处理抢购,避免直接操作数据库,例如使用Redis. 重点在于第二个问题 常规写法: 查询出对应商品的库存,看是否大于0,然后执行生成订单等操作,但是在判断库存是否大于0处,如果在高并发下就会有问题,导致库存量出现负数 <?php $conn=mysql_connect("localho

  • PHP+redis实现微博的推模型案例分析

    本文实例讲述了PHP+redis实现微博的推模型.分享给大家供大家参考,具体如下: 最近在看了一下关于redis的内容,然后利用redis写了一个简单的微博项目,这篇文章是关于推模型的. 推模型 所谓推模型,就是用户在发布微博的时候会将微博推送给关注者和自己,然后其他关注者登录之后就可以看到发布的微博. 微博项目数据结构设计 user表设计 注册的时候将user数据写入redis中,key如下: user数据的key 用户名=user:uesrid:$uesrid:username 密码=use

  • php结合redis高并发下发帖、发微博的实现方法

    发帖.发微博.点赞.评论等这些操作很频繁的动作如果并发量小,直接入库是最简单的 但是并发量一大,数据库肯定扛不住,这时可采取延迟发布:先将发布动作保存在队列里,后台进程循环获取再入库 模拟发布微博先进入redis队列 weibo_redis.php <?php //此处需要安装phpredis扩展 $redis = new Redis(); $redis->connect('127.0.0.1', 6379); $redis->auth("php001"); //连接

  • PHP实现电商订单自动确认收货redis队列

    一.场景 之前做的电商平台,用户在收到货之后,大部分都不会主动的点击确认收货,导致给商家结款的时候,商家各种投诉,于是就根据需求,要做一个订单在发货之后的x天自动确认收货.所谓的订单自动确认收货,就是在在特定的时间,执行一条update语句,改变订单的状态. 二.思路 最笨重的做法,通过linux后台定时任务,查询符合条件的订单,然后update.最理想情况下,如果每分钟都有需要update的订单,这种方式也还行.奈何平台太小,以及卖家发货时间大部分也是密集的,不会分散在24小时的每分钟.那么,

  • PHP使用redis消息队列发布微博的方法示例

    本文实例讲述了PHP使用redis消息队列发布微博的方法.分享给大家供大家参考,具体如下: 在一些用户发布内容应用中,可能出现1秒上万个用户同时发布消息的情况,此时使用mysql可能会出现" too many connections"错误,当然把Mysql的max_connections参数设置为更大数,不过这是一个治标不治本的方法.而使用redis的消息队列,把用户发布的消息暂时存储在消息队列中,然后使用多个cron程序把消息队列中的数据插入到Mysql.这样就有效的降低了Mysql

  • redis+php实现微博(一)注册与登录功能详解

    本文实例讲述了redis+php实现微博注册与登录功能.分享给大家供大家参考,具体如下: (一).微博功能概况 微博用户账号注册 微博用户登录 微博发布 添加微博好友(粉丝) 微博推送 微博冷数据写入mysql数据库 (二).redis数据结构设计 这节分享微博用户注册与登录: 我们完全采用redis作为数据库来实现注册于登录 先来看一下redis数据结构的设计: 注册用户表:user set global:userid set user:userid:1:username zhangshan

  • redis+php实现微博(二)发布与关注功能详解

    本文实例讲述了redis+php实现微博发布与关注功能.分享给大家供大家参考,具体如下: 数据结构: set post:postid:3:time timestamp set post:postid:3:userid 5 set post:postid:3:content 测试发布哈哈哈哈 incr global:postid set post:postid:$postidcho "用户名密码不能够为空!"; 关注微博 following:3 被关注(粉丝) followed:3 把发

  • PHP实现操作redis的封装类完整实例

    本文实例讲述了PHP实现操作redis的封装类.分享给大家供大家参考,具体如下: <?php /** * Redis 操作,支持 Master/Slave 的负载集群 * * @author jackluo */ class RedisCluster{ // 是否使用 M/S 的读写集群方案 private $_isUseCluster = false; // Slave 句柄标记 private $_sn = 0; // 服务器连接句柄 private $_linkHandle = array

  • php+redis实现注册、删除、编辑、分页、登录、关注等功能示例

    本文实例讲述了php+redis实现注册.删除.编辑.分页.登录.关注等功能.分享给大家供大家参考,具体如下: 主要界面 连接redis redis.php <?php //实例化 $redis = new Redis(); //连接服务器 $a=$redis->connect("localhost",6379); //var_dump($a); //授权 $redis->auth("107lab"); 注册界面 add.php <form

随机推荐