重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
这篇文章主要讲解了“redis列表的介绍及用法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Redis列表的介绍及用法”吧!
创新互联服务项目包括闻喜网站建设、闻喜网站制作、闻喜网页制作以及闻喜网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,闻喜网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到闻喜省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!
参考:https://www.runoob.com/redis/redis-lists.html
单值多value
索引 0 1 2 3 4
lpush 1 2 3 4 5 5 4 3 2 1 先进后出
rpush 1 2 3 4 5 1 2 3 4 5 先进先出
127.0.0.1:9736> LPUSH list01 1 2 3 4 5 (integer) 5 127.0.0.1:9736> LRANGE list01 0 -1 1) "5" 2) "4" 3) "3" 4) "2" 5) "1" 127.0.0.1:9736> rpush list02 1 2 3 4 5 (integer) 5 127.0.0.1:9736> LRANGE list02 0 -1 1) "1" 2) "2" 3) "3" 4) "4" 5) "5" 127.0.0.1:9736>
lpop 从索引首位置出
rpop 从索引尾位置出
127.0.0.1:9736> lpop list01 "5" 127.0.0.1:9736> lrange list01 0 -1 1) "4" 2) "3" 3) "2" 4) "1" 127.0.0.1:9736> lpop list02 "1" 127.0.0.1:9736> LRANGE list02 0 -1 1) "2" 2) "3" 3) "4" 4) "5" 127.0.0.1:9736> rpop list01 "1" 127.0.0.1:9736> rpop list02 "5" 127.0.0.1:9736> lrange list01 0 -1 1) "4" 2) "3" 3) "2" 127.0.0.1:9736> lrange list02 0 -1 1) "2" 2) "3" 3) "4"
127.0.0.1:9736> lrange list01 0 -1 1) "4" 2) "3" 3) "2" 127.0.0.1:9736> lrange list02 0 -1 1) "2" 2) "3" 3) "4" 127.0.0.1:9736> lindex list01 1 "3" 127.0.0.1:9736> lindex list02 1 "3"
127.0.0.1:9736> lrange list01 0 -1 1) "4" 2) "3" 3) "2" 127.0.0.1:9736> llen list01 (integer) 3
此例中删除2个3
127.0.0.1:9736> rpush list03 1 1 1 2 2 2 3 3 3 4 4 4 5 5 5 (integer) 15 127.0.0.1:9736> lrem list03 2 3 (integer) 2 127.0.0.1:9736> LRANGE list03 0 -1 1) "1" 2) "1" 3) "1" 4) "2" 5) "2" 6) "2" 7) "3" 8) "4" 9) "4" 10) "4" 11) "5" 12) "5" 13) "5" 127.0.0.1:9736>
此例截取0至3 就是 1 2 3 4 ,再赋值给 list01 。list01最终 1 2 3 4
127.0.0.1:9736> rpush list01 1 2 3 4 5 6 (integer) 6 127.0.0.1:9736> lrange list01 0 -1 1) "1" 2) "2" 3) "3" 4) "4" 5) "5" 6) "6" 127.0.0.1:9736> LTRIM list01 0 3 OK 127.0.0.1:9736> lrange list01 0 -1 1) "1" 2) "2" 3) "3" 4) "4"
从源列表尾部弹出一个元素 到 目的列表的头部
127.0.0.1:9736> lrange list01 0 -1 1) "1" 2) "2" 3) "3" 4) "4" 127.0.0.1:9736> lrange list02 0 -1 1) "2" 2) "3" 3) "4" 127.0.0.1:9736> rpoplpush list01 list02 "4" 127.0.0.1:9736> lrange list02 0 -1 1) "4" 2) "2" 3) "3" 4) "4" 127.0.0.1:9736> lrange list01 0 -1 1) "1" 2) "2" 3) "3"
127.0.0.1:9736> lrange list01 0 -1 1) "1" 2) "2" 3) "3" 127.0.0.1:9736> lset list01 0 x OK 127.0.0.1:9736> lrange list01 0 -1 1) "x" 2) "2" 3) "3"
在指定值的 前/后 插入值
127.0.0.1:9736> lrange list01 0 -1 1) "x" 2) "2" 3) "3" 127.0.0.1:9736> linsert list01 before x a (integer) 4 127.0.0.1:9736> lrange list01 0 -1 1) "a" 2) "x" 3) "2" 4) "3" 127.0.0.1:9736> linsert list01 after x b (integer) 5 127.0.0.1:9736> lrange list01 0 -1 1) "a" 2) "x" 3) "b" 4) "2" 5) "3"
10. 性能总结:
它是一个字符串链表,left right 都可以插入添加,
如果键不存在,创建新的链表 如果键已存在,新增内容; 如果值全移除, 对应键也就消失了 ;
链表的操作无论头和尾效率都很高, 但假如是对中间元素进行操作. 效率就很低
感谢各位的阅读,以上就是“Redis列表的介绍及用法”的内容了,经过本文的学习后,相信大家对Redis列表的介绍及用法这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是创新互联,小编将为大家推送更多相关知识点的文章,欢迎关注!