咨询热线:18076568990、0755-25823180

实现点赞软件系统开发功能程序设计的要点有什么?

2020-9-10 23:31| 发布者: shopwt| 查看: 1241| 评论: 0

简介: 如今 我们是如许处置处罚的. 可以利用ZSET有序聚集举行存储. 理论上说一个ZSET中, 10W以内的数目并无任何鸭梨. 也就

如今 我们是如许处置处罚的.

可以利用ZSET有序聚集举行存储. 理论上说一个ZSET中, 10W以内的数目并无任何鸭梨. 也就是说一条微博点赞的人数再10W以内(这是不大概的).

redis>ZADD("t:redis->ZADD("t:tid:liked", time(), uid);//uid); //tid 为你的微博ID, $uid 为你的点赞人的UID

//取出点赞的人(支持按照点赞时间来排序的哦:))… 按照LSD的说的 HASH取出来的值没有任何序次的.
$uids = redis>ZREVRANGE("t:redis->ZREVRANGE("t:tid:liked", $offset, $max, TRUE); //倒序取值
$uids = redis>ZRANGE("t:redis->ZRANGE("t:tid:liked", $offset, $max, TRUE); //序次取值

//$offset 和 $max 如许来算
$pagesize = 20;
offset=(offset = (page > 1) ? ($page - 1) * $pagesize : 0;
max=(max = ((page * $pagesize) - 1;

//一次性取出全部的如许取.
$total = redis>ZCARD("t:redis->ZCARD("t:tid:liked");
$uids = redis>ZREVANGE("t:redis->ZREVANGE("t:tid:liked", 0, $total - 1, TRUE);

//拿到的$uids 是一个array 哦…

//判断一个用户是否点赞了这一来哦
redis>ZSCORE("t:redis->ZSCORE("t:tid:liked", $uid);
//取消赞如许来
redis>ZREM("t:redis->ZREM("t:tid:liked", $uid);

//批量取消某短时间内的点赞如许操纵
redis>ZREMRANGEBYSCORE("t:redis->ZREMRANGEBYSCORE("t:tid:liked", $start_timestamp, $end_timestamp);

//诸云云类的操纵, 要比HASH强许多.
恩再PS一下!!!

假如必要用到NOSQL如许的数据库来存储雷同微博的数据的话, 可以如许存储:).

$pipe = $redis->MULTI(Redis::PIPELINE);
pipe>SET("t:pipe->SET("t:tid", json_encode($data)) //json这种格式存储貌似有点废物. 假如能想到更好的格式的话,不要用JSON, 由于JSON太大了… 比如MSGPACK这个个是就比JSON要好许多
->ZADD(“t:scores”, time(), $tid);
$pipe->EXEC();

//PIPE 如许的操纵赞爆了. 假如你的REDIS支持事故的话, PIPE就不是一个原子性的操纵了

//取出数据的话就很好取出了!!
$tid = $reids->ZREVRANGE(“t:scores”, 0, 100);
$pipe = redis>MULTI(Redis::PIPELINE);foreach(redis->MULTI(Redis::PIPELINE); foreach(tid as $key=> $value){
pipe>GET("t:pipe->GET("t:value");
}
$list = $pipe->EXEC();

//$list就是你的数据啦

再再PS一下, 微博品评也是雷同的存储方法. 只是必要约定$Redis KEYS的名称. 比如:
c:<品评ID> 怎么和微博数据关联起来可以如许:

t:$tid:comments:scores (ZSET timestmap 品评ID);

如许取数据的时间就用PIPELINE方便许多了.

末了啰嗦一句, NOSQL这种数据库的 KEY 肯定要设置好.


ShopWT(www.shopwt.com)是国内知名商城系统及商城网站建设提供商,其中销客多小程序系统为商家提供小程序商城开发、小程序分销系统、微分销系统、商城系统、电商网站建设、微信分销系统、小程序商城等多端商城及电子商务行业解决方案>
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
收藏 分享 邀请

鲜花

握手

雷人

路过

鸡蛋

精彩阅读

更多+

最新活动

联系我们

产品及方案咨询:18076568990、0755-25823180

电子邮箱:web@shopwt.com、客服微信:shopwtcom

公司地址:深圳市罗湖区人民南路3002号国贸大厦B座1608楼

  • 官方公众号

  • 微信客服