- list命令
| lpush | 向list插入数据,每次都是插入最左边 ,可多个也可单个(每次插左边) | LPUSH key value |
| lrange | 查看list的数据 | LRANGE key 0 -1 |
| lpushx | 向list插入数据,每次都是插入最左边 ,可多个也可单个(前提:key必须存在) | lpushx key value |
| llen | 查看key的长度 | llen key |
| lrem | 移除某些数据 | lrem key 0 XXXredis>LREM greet 2 morning # 移除从表头到表尾,最先发现的两个 morning redis> LREM greet -1 morning # 移除从表尾到表头,第一个 morning redis> LREM greet 0 hello # 移除表中所有 hello |
| lset | 重置某些数据 | lset key n XXXXredis> LSET job 0 "play game" |
| ltrim | 删除了n1-n2之外的数据 | ltrim key n1 n2redis> LTRIM alpha 1 10086 # 保留 alpha 列表索引 1 至索引 10086 上的元素 |
| rpop | 移除并返回列表的尾元素 | rpop key redis> RPOP mylist # 返回被弹出的元素 "three" redis> LRANGE mylist 0 -1 # 列表剩下的元素 1) "one" 2) "two" |
| lpop | 移除并返回列表的头元素 | lpop key |
| rpush | 向list插入数据,每次都是插入最左边 ,可多个也可单个(每次插右边) | rpush key value |
| rpushx | 向list插入数据,每次都是插入最右边 ,可多个也可单个(前提:key必须存在) | rpushx key value |
| linsert | LINSERT key BEFORE|AFTER pivot value 将值 当 当 如果 | 127.0.0.1:6379> RPUSH mylist "Hello" (integer) 1 127.0.0.1:6379> RPUSH mylist "World" (integer) 2 127.0.0.1:6379> lrange mylist 0 -1 1) "Hello" 2) "World" 127.0.0.1:6379> LINSERT mylist BEFORE "World" "There" (integer) 3 127.0.0.1:6379> lrange mylist 0 -1 1) "Hello" 2) "There" 3) "World" |
| lindex | LINDEX key index 返回列表 | 127.0.0.1:6379> LINDEX mylist 0 "Hello" 127.0.0.1:6379> LINDEX mylist 1 "There" 127.0.0.1:6379> LINDEX mylist 2 "World" |
| BRPOP | BRPOP key [key ...] timeout BRPOP 是列表的阻塞式(blocking)弹出原语。 它是 RPOP 命令的阻塞版本,当给定列表内没有任何元素可供弹出的时候,连接将被 BRPOP 命令阻塞,直到等待超时或发现可弹出元素为止。 当给定多个 关于阻塞操作的更多信息,请查看 BLPOP 命令, BRPOP 除了弹出元素的位置和 BLPOP 不同之外,其他表现一致。 | redis> LLEN course (integer) 0 redis> RPUSH course algorithm001 (integer) 1 redis> RPUSH course c++101 (integer) 2 redis> BRPOP course 30 1) "course" # 被弹出元素所属的列表键 2) "c++101" # 被弹出的元素 |
| BLPOP | 从第一个不为空的list列表开始,弹出不为空的l列表的key的名称,移除并返回最左边的元素。 | 127.0.0.1:6379> LPUSH command "update system..." (integer) 1 127.0.0.1:6379> LPUSH request "visit page" (integer) 1 127.0.0.1:6379> BLPOP job command request 0 1) "command" 2) "update system..." 127.0.0.1:6379> llen command (integer) 0 |
| RPOPLPUSH | 比RPOP多了一个push的动作,移除并展示最右边的元素并且Lpush到新的列表 | 127.0.0.1:6379> RPOPLPUSH alpha reciver "d" 127.0.0.1:6379> lrange alpha 0 -1 1) "a" 2) "b" 3) "c" 127.0.0.1:6379> lrange reciver 0 -1 1) "d" |
| BRPOPLPUSH | 当给出的的list为空时会堵塞5秒 | 127.0.0.1:6379> BRPOPLPUSH emtpylist newlist 5 (nil) (5.01s) |
| | |
未完待续。。。。持续更新。。。。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29096438/viewspace-1792563/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/29096438/viewspace-1792563/
本文深入解析Redis中的List命令,包括lpush、lrange、lpushx、llen、lrem、lset、ltrim、rpop、lpop、rpush、rpushx、linsert、lindex、brpop、blpop、rpoplpush、brpoplpush等,提供实际应用示例。

被折叠的 条评论
为什么被折叠?



