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;