redis-list(列表)
2016-05-02 13:39
585 查看
redis的列表是使用双向链表实现的。所以向两端添加元素时间复杂度为0(1),不过使用链表的代价是查找较慢。
1、lpush 、rpush (向左端、右端添加元素),lrange 取一定范围的元素的值,
127.0.0.1:6379> lpush listexample 2
(integer) 1
127.0.0.1:6379> lpush listexample 3 4 5 //一次插入多个元素
(integer) 4
127.0.0.1:6379> lrange listexample 0 -1
1) "5"
2) "4"
3) "3"
4) "2"
127.0.0.1:6379> rpush listexample 7 8 9
(integer) 7
127.0.0.1:6379> lrange listexample 0 -1
1) "5"
2) "4"
3) "3"
4) "2"
5) "7"
6) "8"
2、lpop 、rpop 从列表两端弹出元素
3、llen 获取表中元素的个数
4、lrem 删除列表中指定的值 lrem key count value (删除key 中 值为value的键,一共删除为count个)
注:当count > 0 时,从左连开始删除 ,当count<=时,从右边开始删除 , 当count=0时,全部删除
127.0.0.1:6379> lrange listexample 0 -1
1) "5"
2) "5"
3) "5"
4) "5"
5) "5"
6) "5"
7) "5"
8) "4"
9) "3"
10) "2"
11) "7"
12) "8"
13) "9"
127.0.0.1:6379> lrem listexample 3 5 //删除3个值为5的元素
(integer) 3
127.0.0.1:6379> lrange listexample 0 -1
1) "5"
2) "5"
3) "5"
4) "5"
5) "4"
6) "3"
7) "2"
8) "7"
9) "8"
10) "9"
127.0.0.1:6379> lpush listexample 3 5 6 7 8 5 3 2 5 9 5
(integer) 17
127.0.0.1:6379> lrange listexample 0 -1
1) "5"
2) "9"
3) "5"
4) "2"
5) "3"
6) "5"
7) "8"
8) "7"
9) "6"
10) "5"
11) "3"
12) "4"
13) "3"
14) "2"
15) "7"
16) "8"
17) "9"
127.0.0.1:6379> lrem listexample -2 5
(integer) 2
127.0.0.1:6379> lrange listexample 0 -1
1) "5"
2) "9"
3) "5"
4) "2"
5) "3"
6) "8"
7) "7"
8) "6"
9) "3"
10) "4"
11) "3"
12) "2"
13) "7"
14) "8"
15) "9"
5、lindex key inde (获得指定索引的元素值) lindex key index
lset kye index value (设置索引的元素值)
127.0.0.1:6379> lindex listexample 3
"2"
127.0.0.1:6379> lindex listexaple -1
(nil)
127.0.0.1:6379> lindex listexample -1
"9"
127.0.0.1:6379> lset listexample 4
(error) ERR wrong number of arguments for 'lset' command
127.0.0.1:6379> lpush listexample 44
(integer) 16
127.0.0.1:6379> lset listexample 5 5555
OK
127.0.0.1:6379> lrange listexample 0 -1
1) "44"
2) "5"
3) "9"
4) "5"
5) "2"
6) "5555"
7) "8"
8) "7"
9) "6"
10) "3"
11) "4"
12) "3"
13) "2"
14) "7"
15) "8"
16) "9"
6、ltrim key start end (只保留列表指定的片段)
1、lpush 、rpush (向左端、右端添加元素),lrange 取一定范围的元素的值,
127.0.0.1:6379> lpush listexample 2
(integer) 1
127.0.0.1:6379> lpush listexample 3 4 5 //一次插入多个元素
(integer) 4
127.0.0.1:6379> lrange listexample 0 -1
1) "5"
2) "4"
3) "3"
4) "2"
127.0.0.1:6379> rpush listexample 7 8 9
(integer) 7
127.0.0.1:6379> lrange listexample 0 -1
1) "5"
2) "4"
3) "3"
4) "2"
5) "7"
6) "8"
2、lpop 、rpop 从列表两端弹出元素
3、llen 获取表中元素的个数
4、lrem 删除列表中指定的值 lrem key count value (删除key 中 值为value的键,一共删除为count个)
注:当count > 0 时,从左连开始删除 ,当count<=时,从右边开始删除 , 当count=0时,全部删除
127.0.0.1:6379> lrange listexample 0 -1
1) "5"
2) "5"
3) "5"
4) "5"
5) "5"
6) "5"
7) "5"
8) "4"
9) "3"
10) "2"
11) "7"
12) "8"
13) "9"
127.0.0.1:6379> lrem listexample 3 5 //删除3个值为5的元素
(integer) 3
127.0.0.1:6379> lrange listexample 0 -1
1) "5"
2) "5"
3) "5"
4) "5"
5) "4"
6) "3"
7) "2"
8) "7"
9) "8"
10) "9"
127.0.0.1:6379> lpush listexample 3 5 6 7 8 5 3 2 5 9 5
(integer) 17
127.0.0.1:6379> lrange listexample 0 -1
1) "5"
2) "9"
3) "5"
4) "2"
5) "3"
6) "5"
7) "8"
8) "7"
9) "6"
10) "5"
11) "3"
12) "4"
13) "3"
14) "2"
15) "7"
16) "8"
17) "9"
127.0.0.1:6379> lrem listexample -2 5
(integer) 2
127.0.0.1:6379> lrange listexample 0 -1
1) "5"
2) "9"
3) "5"
4) "2"
5) "3"
6) "8"
7) "7"
8) "6"
9) "3"
10) "4"
11) "3"
12) "2"
13) "7"
14) "8"
15) "9"
5、lindex key inde (获得指定索引的元素值) lindex key index
lset kye index value (设置索引的元素值)
127.0.0.1:6379> lindex listexample 3
"2"
127.0.0.1:6379> lindex listexaple -1
(nil)
127.0.0.1:6379> lindex listexample -1
"9"
127.0.0.1:6379> lset listexample 4
(error) ERR wrong number of arguments for 'lset' command
127.0.0.1:6379> lpush listexample 44
(integer) 16
127.0.0.1:6379> lset listexample 5 5555
OK
127.0.0.1:6379> lrange listexample 0 -1
1) "44"
2) "5"
3) "9"
4) "5"
5) "2"
6) "5555"
7) "8"
8) "7"
9) "6"
10) "3"
11) "4"
12) "3"
13) "2"
14) "7"
15) "8"
16) "9"
6、ltrim key start end (只保留列表指定的片段)
相关文章推荐
- redis-散列
- Redis运行流程源码解析
- Redis命令-集合-sinter
- Redis初认识——竹子整理
- redis codis 安装部署
- Redis如何处理客户端连接
- Redis命令-集合-sdiffstore
- Redis日常使用随笔
- redis的aof方式持久化
- Redis命令-集合-sdiff
- java连接redis
- redis在windows中的安装
- redis键过期
- redis之其他
- Redis中的11大优秀设计
- Redis 集群解决方案 Codis
- Redis应用场景(转)
- springmvc mybatis redis mysql maven搭建基本开发框架 (一)
- 缓存redis的处理
- redis cluster 安装部署