Back

redis - 保存一个数组, LSET保存,LPUSH新增保存, LINSERT插入, LINDEX读取某个, LRANGE 读取一堆

发布时间: 2018-05-03 08:14:00

非常简单. 

例如: 

> LPUSH fruits apple   # => ["apple"]   把元素从左边插入到数组中。

> LPUSH  fruits banana   # => ["banana", "apple"]  

RPUSH 是把新的元素从右侧插入到数组中。

> LINDEX fruits 0     # => "banana"

> LINDEX fruits 1    # =>  "apple"

> LRANGE fruits 0 1  #=> ['banana', 'apple']   , 注意只有lrange, 没有 rrange. 

> LTRIM fruits  0 1 # => 

就是把fruits 这个数组从左到右(从控制台上从上到下),截断, 保留trim 参数中的部分。 例如:

127.0.0.1:6379> lrange fruits 0 -1
 1) "g"
 2) "f"
 3) "de"
 4) "d"
 5) "c"
 6) "b"
127.0.0.1:6379> ltrim fruits 0 2
OK
127.0.0.1:6379> lrange fruits 0 -1   (可以看到, 只保留了 原来的 [0, 2]部分的内容( ltrim ,看起来是就从上到下)
1) "g"
2) "f"
3) "de"

LSET fruit 0 'apple222' =>   表示把当前fruit 数据的第0个元素,设置成apple222

LINSERT  : 在某个位置的前后,插入数据。

127.0.0.1:6379> lrange fruits 0 -1
1) "apple3"
2) "banana"
3) "apple"
127.0.0.1:6379> linsert fruits before banana orange
(integer) 4
127.0.0.1:6379> lrange fruits 0 -1
1) "apple3"
2) "orange"
3) "banana"
4) "apple"

备份与还原:

 redis-cli --raw dump mykey | head -c-1 > myfile
 cat myfile | redis-cli -x restore mynewkey 0

Back