首页 > 数据库 >4.Redis系列之常用数据类型列表list

4.Redis系列之常用数据类型列表list

时间:2022-10-31 20:58:33浏览次数:76  
标签:username 127.0 0.1 list Redis 列表 6379 数据类型 shenjian

1. 基本操作

# lpush/rpush从左边或右边插入一个或多个值
127.0.0.1:6379> lpush username shenjian domi
(integer) 2
# lpop/rpop从左边或右边抛出一个值
127.0.0.1:6379> rpop username 1
1) "shenjian"
# lrange按照索引下标从左到右获取元素
127.0.0.1:6379> lrange username 0 -1
1) "domi"
# rpoplpush <key1> <key2> 从key1列表右边抛出一个值,插到key2列表左边
127.0.0.1:6379> lpush user shen
(integer) 1
127.0.0.1:6379> rpoplpush user username
"shen"
127.0.0.1:6379> lrange username 0 -1
1) "shen"
2) "domi"
# lindex按照索引下标获取元素
127.0.0.1:6379> lindex username 1
"domi"
# llen获取列表长度
127.0.0.1:6379> llen username
(integer) 2
# linsert <key> before/after <value> <newvalue>在value前/后面插入newvalue
127.0.0.1:6379> linsert username before domi shenjian
(integer) 3
127.0.0.1:6379> lrange username 0 -1
1) "shen"
2) "shenjian"
3) "domi"
127.0.0.1:6379> lpush username shenjian
(integer) 4
# lrem <key> <n> <value>从左边删除n的value
127.0.0.1:6379> lrem username 1 shenjian
(integer) 1
# lset <key> <index> <value>key列表指定下标值为value
127.0.0.1:6379> lset username 0 shenjian
OK

2. 底层数据结构

127.0.0.1:6379> object encoding username
"quicklist"

2

List的数据结构为快速列表quicklist,由压缩列表ziplist[压缩列表结构本身就是连续的内存块]和普通的双向链表组成。每个双链表节点中保存一个ziplist,然后每个ziplist中存一批list中的数据,这样既可以避免大量链表指针带来的内存消耗,也可以避免ziplist更新导致的大量性能损耗。

欢迎关注公众号算法小生沈健的技术博客查看最新文章

标签:username,127.0,0.1,list,Redis,列表,6379,数据类型,shenjian
From: https://www.cnblogs.com/shenjian-online/p/16845743.html

相关文章

  • 3.Redis系列之常用数据类型字符串String
    本文系列学习redis五大常用数据类型之字符串String的基本操作及编码与底层数据结构1.基本操作//setkeyvalue设置键值对127.0.0.1:6379>setblogshenjian.onlineO......
  • 5.Redis系列之常用数据类型集合Set
    本文讲解redis常用数据类型集合Set的基本操作与数据结构1.基本操作#sadd集合添加元素127.0.0.1:6379>saddusernameshenjianshenjiandomijing(integer)3#sme......
  • 6.Redis系列之常用数据类型有序集合Zset
    本文学redis常用数据类型有序集合Zset基本操作与底层数据结构1.基本操作#zadd<key><score><member>将多个member元素及其score值加入有序集合key中127.0.0.1:6379>......
  • redis 安装
    基于CenterOS7安装Redis下载安装包   wgethttp://download.redis.io/releases/redis-5.0.0.tar.gz解压安装包    tar–xvfredis-5.0.0.tar.gz编译(在解压......
  • 泛型集合List(C#)
    1usingSystem;2usingSystem.Collections.Generic;3usingSystem.Linq;4usingSystem.Text;56namespaceListDemo7{8classProgram9{10staticvoidMai......
  • 非关系型数据库 之 Key-Value数据库 Redis的使用(Python3)
    文章目录​​1、Redis简介​​​​1.1、简述​​​​1.2、特点​​​​1.3、优势​​​​2、CentOS操作Redis​​​​2.1、安装启动​​​​2.1.1、安装​​​​2.1.2、......
  • Qt5气泡式聊天框——QListWidget+QPainter实现
    文章目录​​1、简介​​​​2、效果图​​​​3、实现原理​​​​4、核心代码​​​​4.1、头文件​​​​4.2、源文件​​​​5、代码分享​​​​5.1、Github​​​​5.......
  • Power Automate获取sharepoint list记录中的附件,并将附件填写到审批中
    1、定义一个数组变量,用于存储附件数组  2、 获取sharepointList中的附件  3、循环获取附件中的每一个文件的内容,并追加到变量数组  {"Name":@{item......
  • 注释,标识符,数据类型笔记
    注释单行注释:只能注释当前行,以//开始,直到行结束//输出HelloWorld!多行注释:注释一段文字,以/开始,/结束!/*这是我们Java程序的主入口,main方法也是程序的主线程。*/文......
  • 【python】list中extend和append的区别
    在python列表中,extend和append都可以往列表中加入元素,extend是扩充单个元素,如:a='abc123'b=[]b.extend(a)>>>b=['a','b','c','1','2','3']而append是扩......