您的位置:首页 > 数据库 > Redis

Redis学习笔记(二)--list结构及命令详解

2018-03-12 21:39 351 查看
书接上文Redis学习笔记(一)
 2-----------------list结构及命令详解

1.lpush key value从左面往链表中添加 rpush key value 从右面添加
2.lrange key start stop 返回链表中[start, stop]中的元素
3.lpop  rpop弹出元素
4.lrem key count value 比如 lrem key 3 b 从链表左开始删除,直到删除3个b
如果count< 0从尾部删除
5.ltrim key start stop 截取链表的一小段
6.lindex key index 单独取出链表中index上的value
7.llen key 查看链表上有几个单元
8.linsert key befor|after value newvalue 在key上找到value 并且在value前或者后加newvalue
9.rpoplpush sourse dest 把sourse的尾部拿出放在dest的头部(这里需要知道这个操作是原子操作)
适合场景:task+bak双链表完成安全队列

当从链表task中取任务的时候pop可能出现未知错误(比如pop出来以后执行相关任务失败),所以我们可以加bak链表,每pop一个task任务就添加到bak链表中,这时候返回值就是要执行的任务,如果失败再调用bak重新执行,成功则pop出bak链表。
10.brpop, blpop  key timeout等待弹出key的尾/头元素 timeout为等待超时时间,如果timeout为0则已知等待。
这里可以启动两个redis-cli操作同一个key进行测试

适合场景:长轮询Ajax, 在线聊天的时候可以用到。

关于长轮询,ajax: https://www.cnblogs.com/chengdabelief/p/6686493.html








内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  redis