首页 > 代码库 > 三:redis的List类型相关操作
三:redis的List类型相关操作
==========================三种:List类型=====================
介绍:list类型及操作
list是一个链接表结果,只要功能是push,pop、获取一个范围的所有值等等,
操作key理解为链表的名字,redis的list类型其实就是一个每个子元素都是string类型的双向链表。
我们可以通过push、pop操作从链表的头部或者尾部添加删除元素,这样list既可以作为栈,又可以作为队列
1:lpush:
在key对应list的头部添加字符串元素 (先进后去,类似栈)
例:lpush list1 "hello"
lpush list1 "world"
取值:lrange list1 0 -1 -->从头取到尾,list1里面的全部去出来来
2:rpush
在key对应list的尾部添加字符串元素(先进先去,类似队列)
例:rpush list2 "le"
rpush list2 "yangjun"
取:lrange list2 0 -1 -->le yangjun值
3:linsert:
在key对应list的特定位置前或后添加字符串
例:lpush list3 "one"
lpush list3 "two"
linsert list3 before one three --->在 one和two之间压入一个three
lrange list2 0 -1
4:Lset:
设置list中指定下标元素的值
例:lpush list5 one
lpush list5 two
lset list5 1 "four" ---->吧下表为1的值改为 four
5:lrem:删除相同元素的值
从key对应list中删除n个和value相同的元素(n<0从尾删除,n=0全部删除)
例:lpush list5 one
lpush list5 one
lrem lise5 1 "one" --->1表示删除几个,从list5中删除一个one相同的元素,就剩下一个one
lrem lise5 0 "one" --->全删
6:ltrim:
保留指定key的值范围内的数据
例:lpush list6 one
lpush list6 two
lpush list6 three
ltrim list6 1 -1 -->保留下标为1 -1的值,其他全部删除
ltrim list6 1 2 --->保留下标为1和2的,其他删除
7:lpop:
从list的头部删除元素,并返回删除元素
例:rpush list8 one
rpush list8 two
lpop list8 -->把one弹出,也就是删除,只留下two
8:rpop:
从list的尾部删除元素,并返回删除元素
例:rpush list8 one
rpush list8 two
rpop list8 --->尾部弹出two,只剩下one
9:rpoplpush:
从第一个list的尾部移除元素并添加到第二个list的头部
例:list9:three,hello list10:hello,foo
rpoplpush list9 list10 --->吧hello从list9的尾部并吧hello从头部压入list10
list10=hello、hello、foo
10:lindex:
返回名称为key的list中index位置的元素
例:list11:three,two,one
lindex list11 0 --->找出下表为0的元素->three
11:llen:
返回key对应list的长度
例:llen list11 -->有几个元素就返回几 比如就一个there就返回1
========================================END========================================
介绍:list类型及操作
list是一个链接表结果,只要功能是push,pop、获取一个范围的所有值等等,
操作key理解为链表的名字,redis的list类型其实就是一个每个子元素都是string类型的双向链表。
我们可以通过push、pop操作从链表的头部或者尾部添加删除元素,这样list既可以作为栈,又可以作为队列
1:lpush:
在key对应list的头部添加字符串元素 (先进后去,类似栈)
例:lpush list1 "hello"
lpush list1 "world"
取值:lrange list1 0 -1 -->从头取到尾,list1里面的全部去出来来
2:rpush
在key对应list的尾部添加字符串元素(先进先去,类似队列)
例:rpush list2 "le"
rpush list2 "yangjun"
取:lrange list2 0 -1 -->le yangjun值
3:linsert:
在key对应list的特定位置前或后添加字符串
例:lpush list3 "one"
lpush list3 "two"
linsert list3 before one three --->在 one和two之间压入一个three
lrange list2 0 -1
4:Lset:
设置list中指定下标元素的值
例:lpush list5 one
lpush list5 two
lset list5 1 "four" ---->吧下表为1的值改为 four
5:lrem:删除相同元素的值
从key对应list中删除n个和value相同的元素(n<0从尾删除,n=0全部删除)
例:lpush list5 one
lpush list5 one
lrem lise5 1 "one" --->1表示删除几个,从list5中删除一个one相同的元素,就剩下一个one
lrem lise5 0 "one" --->全删
6:ltrim:
保留指定key的值范围内的数据
例:lpush list6 one
lpush list6 two
lpush list6 three
ltrim list6 1 -1 -->保留下标为1 -1的值,其他全部删除
ltrim list6 1 2 --->保留下标为1和2的,其他删除
7:lpop:
从list的头部删除元素,并返回删除元素
例:rpush list8 one
rpush list8 two
lpop list8 -->把one弹出,也就是删除,只留下two
8:rpop:
从list的尾部删除元素,并返回删除元素
例:rpush list8 one
rpush list8 two
rpop list8 --->尾部弹出two,只剩下one
9:rpoplpush:
从第一个list的尾部移除元素并添加到第二个list的头部
例:list9:three,hello list10:hello,foo
rpoplpush list9 list10 --->吧hello从list9的尾部并吧hello从头部压入list10
list10=hello、hello、foo
10:lindex:
返回名称为key的list中index位置的元素
例:list11:three,two,one
lindex list11 0 --->找出下表为0的元素->three
11:llen:
返回key对应list的长度
例:llen list11 -->有几个元素就返回几 比如就一个there就返回1
========================================END========================================
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。