redis渐入佳境(03) list类型

redies的list类型是一个兼具栈和队列特性的数据结构,主要方法有如下:

lpush、rpush、lrange、linsert、lset、lrem、ltrim、lpop、rpop、rpoplpush、lindex、llen

下面通过具体的例子来逐个说明其用法:

    lpush 从上部压入元素 返回list的长度

    rpush 从底部压入元素 返回list的长度

    lrange  显示元素  的数字是个区间 如果是0 -1  就说明是显示全部

redis 127.0.0.1:6379> lpush list3 one    //压入元素
(integer) 1
redis 127.0.0.1:6379> lpush list3 two    //压入元素
(integer) 2
redis 127.0.0.1:6379> lpush list3 www    //压入元素
(integer) 3
redis 127.0.0.1:6379> rpush list3 com    //底部压入元素
(integer) 4
redis 127.0.0.1:6379> lrange list3 0 -1  //显示全部元素
1) "www"
2) "two"
3) "one"
4) "com"
redis 127.0.0.1:6379> lrange list3 0 2   //显示部分元素
1) "www"
2) "two"
3) "one"
redis 127.0.0.1:6379> 		

   

     linsert  在某个元素前插入,即可以指定插入的元素的位置、

     lset、将指定队列的指定索引位置的值更改

     lrem、移除值 指定移除的个数

     ltrim   保留部分值

redis 127.0.0.1:6379> lrange list3 0 -1
1) "www"
2) "two"
3) "one"
4) "com"
redis 127.0.0.1:6379> linsert list3 before one four //在one的上面插入
(integer) 5
redis 127.0.0.1:6379> lrange list3 0 -1  //显示插入后的结果
1) "www"
2) "two"
3) "four"
4) "one"
5) "com"
redis 127.0.0.1:6379> lset list3 0 mmm //把第一个设置成mmm
OK
redis 127.0.0.1:6379> lrange list3 0 -1  //显示结果
1) "mmm"
2) "two"
3) "four"
4) "one"
5) "com"
redis 127.0.0.1:6379> lrange list3 0 -1
1) "mmm"
2) "mmm"
3) "mm"
4) "mmm"
5) "two"
6) "four"
7) "one"
8) "com"
redis 127.0.0.1:6379> lrem list3 2 mmm   //移除两个mmm的元素
(integer) 2
redis 127.0.0.1:6379> lrange list3 0 -1
1) "mm"
2) "mmm"
3) "two"
4) "four"
5) "one"
6) "com"
redis 127.0.0.1:6379> lrange list3 0 -1
1) "mm"
2) "mmm"
3) "two"
4) "four"
5) "one"
6) "com"
redis 127.0.0.1:6379> 
redis 127.0.0.1:6379> 
redis 127.0.0.1:6379> ltrim list3 1 4  //保留 2-5的数据
OK
redis 127.0.0.1:6379> lrange list3 0 -1
1) "mmm"
2) "two"
3) "four"
4) "one"
redis 127.0.0.1:6379> 

        lpop、返回并删除顶部元素

        rpop、返回并删除底部元素

        rpoplpush、返回删除左list并压入右序列

        lindex、根据索引返回值

        llen 返回list的长度

redis 127.0.0.1:6379> lrange list3 0 -1
1) "mmm"
2) "two"
3) "four"
4) "one"
redis 127.0.0.1:6379> lpop list3 //移除顶部的mmm
"mmm"
redis 127.0.0.1:6379> lrange list3 0 -1
1) "two"
2) "four"
3) "one"
redis 127.0.0.1:6379> rpop list3 //移除底部的元素
"one"
redis 127.0.0.1:6379> lrange list3 0 -1
1) "two"
2) "four"
redis 127.0.0.1:6379> 
redis 127.0.0.1:6379> lrange list4 0 -1
1) "list4_1"
redis 127.0.0.1:6379> rpoplpush list3 list4  //移除并添加
"four"
redis 127.0.0.1:6379> lrange list3 0 -1  
1) "two"
redis 127.0.0.1:6379> lrange list4 0 -1
1) "four"
2) "list4_1"
redis 127.0.0.1:6379> 
redis 127.0.0.1:6379> lindex list4 0  //根据索引返回值
"two"
redis 127.0.0.1:6379> lindex list4 1  //根据索引返回值
"list4_1"
redis 127.0.0.1:6379> 
redis 127.0.0.1:6379> llen list4   //返回list的长度
(integer) 2
redis 127.0.0.1:6379> 



end;                                     

猜你喜欢

转载自xuelianbobo.iteye.com/blog/2087902