书接上文Redis学习笔记(一)
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: https://www.cnblogs.com/chengdabelief/p/6686493.html