外贸企业建站公司,个人申请公众号注册,欧派家居全屋定制价格多少钱一平,信宜做网站先创建一个 key 叫做 mylist#xff0c;mylist存一个list。
list数据类型底层是一个链表。先进后出#xff0c;后进先出。
命令中的L#xff08;Left#xff09;、R#xff08;Right#xff09;代表链表的头部L#xff08;下标0的位置#xff09;和尾部R#xff08;…先创建一个 key 叫做 mylistmylist存一个list。
list数据类型底层是一个链表。先进后出后进先出。
命令中的LLeft、RRight代表链表的头部L下标0的位置和尾部R下标length-1的位置
list中的允许有相同的元素
1、LSET key index value
设置 index 位置的list元素的值为 value。当index超出范围时会返回一个error。 lset mylist 0 123 如果key不存在会报错 2、LINSERT key BEFORE|AFTER pivot value
作用在list的某个元素前或者后插入某个新元素。
2.1、当 key 不存在时这个list会被看作是空list任何操作都不会发生返回0 2.2、当 key 存在正常插入元素LINSERT key BEFORE pivot value 当前mylist中只有一个元素123 在123之前插入元素0 linsert mylist before 123 0 2.3、当 key 存在正常插入元素LINSERT key AFTER pivot value 当前mylist中有2个元素【0,123】 在0后面插入一个元素12插入成功后mylist有3个元素【0, 12, 123】 linsert mylist after 0 12 2.4、当key存在但保存的不是一个list的时候会返回error。 linsert mylist after 0 {“username”:“zhangsan”} 2.5、当 pivot 值找不到的时候返回 -1。 mylist中不存在元素456尝试在456后面插入789就会返回-1 linsert mylist after 456 789 3、LPUSH key value [value …]
一个列表从下标0开始到下标len(list)-1结束lpush是将一个元素或者多个元素插入到key指向的List的左侧。 3.1、若Key不存在进行 push 操作前会创建一个空列表。 lpush mylist1 0 1 返回值在 push 操作后的 list 长度 一下push多个元素例如0和1是把0和1从左到右依次push因此先push 0再push 1。所以等都push成功后查看列表元素第一个是1第2个是0
3.2、若Key存在但key对应的不是list而是其他数据类型返回一个错误 之前创建了一个myhash的keykey对应的hash。因此向myhash push元素时会报错 lpush myhash 1 4、RPUSH key value [value …]
一个列表从下标0开始到下标len(list)-1结束rpush跟lpush的区别就是rpush是将一个元素或者多个元素插入到key指向的List的右侧。 rpush mylist 4 5 6 依次将4、5、6push到mylist的右侧成功后返回list的长度6。查看mylist push后的元素排列如下。 5、LPUSHX key value [value…]
LPUSHX 比 LPUSH多了一个X这个X代表Exist因此LPUSHX的作用是仅当key已经存在且存着一个list的时候才将值插入到list的头部。如果key不存在时不做任何操作。 lpushx mylist2 1 mylist2不存在因此什么也不做返回值0 lpushx mylist -1 mylist存在且存着一个list因此push成功返回list长度 查看操作后的mylist-1成功插到了mylist头部 此命令同样可以push多个元素。 6、RPUSHX key value [value…]
RPUSHX与LPUSHX命令的唯一区别是当key存在且存着一个list的时候是插到list的尾部。同样当key不存在的时候什么也不做 rpushx mylist2 1 mylist2不存在因此什么也不做返回值0 rpushx mylist -2 -3 mylist存在且存着一个list因此push成功返回list长度 查看操作后的mylist-2和-3成功插到了mylist尾部 7、LPOP key
移除并且返回 key 对应的 list 的第一个元素。 若key存在返回第一个元素的值或者当 key 不存在时返回null。 lpop mylist2 lpop mylist mylist2不存在返回nullmylist存在且第一个元素是-1弹出成功后返回了此元素值-1 8、RPOP key
RPOP跟LPOP的区别仅在于是移除并获取列表的最后一个元素。 rpop mylist2 rpop mylist mylist2不存在返回nullmylist存在且最后一个元素是-3弹出成功后返回了此元素值-3 9、LLEN key
若key存在且存着一个list则返回list的长度否则返回0
10、LINDEX key index
根据index获取list中的元素。如果index越界返回null如果在范围内返回对应的元素值。当key存的不是一个list时报错。 lindex myhash 0 myhash存的不是list将会报错 lindex mylist 3 mylist中有7个元素。第3个元素是4。若想访问第8个元素就超出了范围会返回null 11、LRANGE key start stop
返回存储在key的列表里指定范围内的元素。start和stop偏移量都是基于0的下标。偏移量也可以是负数列表尾部即最后一个元素是-1倒数第二个元素是-2以此类推。 例如mylist长度是7想获取整个列表的元素有两种方式。 lrange mylist 0 7 或者 lrange mylist 0 -1 lrange mylist 3 8 如果stop偏移量大于list的长度那就取到列表最后的一个元素为止。 如果stop偏移量小于start偏移量那就不会做任何操作。