利用redis队列保存最后进入的3个人
来源:互联网 发布:文明5 for mac 编辑:程序博客网 时间:2024/06/08 20:23
朋友去一家公司面试,面试官问他一个问题怎么利用redis保存最后进入直播间的3个人
朋友没有答上来 过来问我
我第一时间就是利用队列先进先出的特性,队列控制在3个长度每一个用户进来直播间的时候 右边插入该用户的id 如果超过3个长度就在左边去掉先前用户的id,这样可以保证只保存最后3个进入队列的数据
<?php error_reporting(E_ALL); ini_set('display_errors','On'); $driver = new Redis(); $driver->connect('127.0.0.1',6379); $driver->select(1); $driver->delete('lastThreeUserList'); for ($i = 0;$i <= 10;$i++) { addLastThreeUserList($driver,$i); } $data = $driver->lRange('lastThreeUserList',0,100); function addLastThreeUserList(Redis $driver,$userId) { $key = 'lastThreeUserList'; $length = $driver->lLen($key); if ($length < 3) { $driver->rPush($key,json_encode(['user_id' => $userId])); } else { $driver->lPop($key); $driver->rPush($key,json_encode(['user_id' => $userId])); } }
output
array(3) { [0]=> string(13) "{"user_id":8}" [1]=> string(13) "{"user_id":9}" [2]=> string(14) "{"user_id":10}" }
阅读全文
0 0
- 利用redis队列保存最后进入的3个人
- 利用Redis 实现消息队列
- 利用Redis 实现消息队列
- 利用Redis 实现消息队列
- 利用Redis 实现消息队列
- 利用Redis 实现消息队列
- 利用Redis 实现消息队列
- 利用redis实现带优先级的消息队列
- 利用Redis模拟简单队列工作
- SpringBoot利用redis集成消息队列
- Redis队列的应用
- redis的消息队列
- redis的消息队列
- redis 的消息队列
- redis队列的实现
- redis队列的实现
- 个人保存的一些网站
- java redis使用之利用jedis实现redis消息队列
- AXI4-Stream
- opencv zynq移植
- 前端需要了解的 SSO 与 CAS 知识
- [JZOJ5457]【NOIP2017提高A组冲刺11.6】项链
- 倒酒(拓展欧几里得)
- 利用redis队列保存最后进入的3个人
- css书写规范
- swift4 根据路径绘画SVG
- 《博客知识概览》- Java等
- python next()函数
- HDU 5927Auxiliary Set
- 一篇不错的v4l2入门文档
- 推荐比较好的下载linux 相关rpm的网站
- python 小练习