Redis 列表(List)

List 简介:
Redis列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素导列表的头部(左边)或者尾部(右边)。
一个列表最多可以包含 232 - 1 个元素 (4294967295, 每个列表超过40亿个元素)

require 'redis'

#list 添加元素
redis.rpush 'logs','some logs'
redis.rpush 'logs','another logs'
redis.rpush 'logs','yet another logs'
redis.rpush 'logs','also another log'

#list 左数下表为0,1,2,3  右数下标为 -1,-2,-3  获取列表指定范围内的元素
p redis.lrange('logs',0,-1) #返回list 列表
p redis.lrange('logs',0,0) # 返回list第一个元素
p redis.lrange('logs',0,1) 
p redis.lrange('logs',0,2)
p redis.lrange('logs',0,3)
p redis.lrange('logs',-1,-1)
p redis.lrange('logs',0,-3)

p redis.llen('logs') #获取list 的长度
p redis.lpop('logs') #移出并获取列表的第一个元素
p redis.lpush('logs','some logs') #插入一个或多个值到列表头部
p redis.lrange('logs',0,-1)
p redis.blpop('logs') #移出并获取第一个元素,如果list没有元素会阻塞列表知道等待超时或出现可弹出元素为止
p redis.lrange('logs',0,-1)
p redis.brpop('logs') #移出并获取列表的最后一个元素, 如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止
p redis.lrange('logs',0,-1)

#lindex 通过索引获取列表中的元素
p redis.lindex('logs',0)
p redis.lindex('logs',1)
p redis.lindex('logs',2)
p redis.lindex('logs',-1)

#将一个或多个值插入到列表头部
p redis.lpush('logs','bad boy')
p redis.lpush('logs',['ok?','no?','yes'])
p redis.lrange('logs',0,-1)

#Lrem 根据参数 COUNT 的值,移除列表中与参数 VALUE 相等的元素 
#count > 0 : 从表头开始向表尾搜索,移除与 VALUE 相等的元素,数量为 COUNT 。
#count < 0 : 从表尾开始向表头搜索,移除与 VALUE 相等的元素,数量为 COUNT 的绝对值。
#count = 0 : 移除表中所有与 VALUE 相等的值
p redis.lrem('logs',0,'bad boy')
p redis.lrange('logs',0,-1)

#通过索引设置列表元素的值
p redis.lset('logs',0,'smart cat') 
p redis.lrange('logs',0,-1)
p redis.lset('logs',-1,'bad day')
p redis.lrange('logs',0,-1)


#对一个列表进行修剪(trim),就是说,让列表只保留指定区间内的元素,不在指定区间之内的元素都将被删除
p redis.ltrim('logs',0,4)  #保留0-4之间的元素
p redis.lrange('logs',0,-1)


#移除并获取列表最后一个元素
p redis.rpop('logs')
p redis.lrange('logs',0,-1)

#在列表中添加一个或多个值
p redis.rpush('logs','very good')
p redis.lrange('logs',0,-1)
p redis.rpush('logs',['cute','sama','jiang zi'])
p redis.lrange('logs',0,-1)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值