Redis 列表 List 主要操作函数

时间:2021-02-16 11:48:10

/**

* redis 列表 List Redis列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素导列表的头部(左边)或者尾部(右边)

*/

//lpush 新增一个列,多个列可以用空格隔开,redis 低版本只能一次一个列

redis 127.0.0.1:6379> lpush list cwb
(integer) 1

//插入一个表头元素,当且仅当列表key存在时,才能插入。返回列表中元素的个数

redis 127.0.0.1:6379> lpushx list vv
(integer) 3

//将一个或多个值插入到队列的队尾。多值时,从左到右依次添加。返回列表中元素个数

redis 127.0.0.1:6379> rpush list duo
(integer) 4

//讲值插入到列表队尾,当且仅当列表key存在时,才添加。返回列表元素个数

redis 127.0.0.1:6379> rpushx list tttt
(integer) 5

//通过索引index获取列表的元素。 index>=0时, 0 表头,1 第二个元素,依次类推;index<0时,-1,表尾,-2倒数第二个元素,依次类推

redis 127.0.0.1:6379> lindex list 1
"nihao"
redis 127.0.0.1:6379> lindex list -1
"tttt"

//lrange 返回一个开始和结束位置, 0 -1返回所有列

redis 127.0.0.1:6379> lrange list 0 -1

//设置列表指定索引的值,如果指定索引不存在则报错

redis 127.0.0.1:6379> lset list 2 vb
OK

//保留指定区域的元素,其他元素全部删除

redis 127.0.0.1:6379> ltrim list 0 2
OK

//移除并返回表头元素

redis 127.0.0.1:6379> rpop list
"vb"

//移除并返回表尾元素
redis 127.0.0.1:6379> lpop list
"nihao"

//获取长度
redis 127.0.0.1:6379> llen list

/**

* Redis 无序集合, Set是string类型的无序集合。集合成员是唯一的,这就意味着集合中不能出现重复的数据。

**/

//sadd 添加一个或多个集合

redis 127.0.0.1:6379> sadd list redis redis2
(integer) 1

//smembers 获取集合

redis 127.0.0.1:6379> smembers list
1) "redis"
2) "redis2"
3) "redis3"

//判断值是否是redis的list 。如果值是redis 的list 返回1,否则,返回0

redis 127.0.0.1:6379> sismember list redis
(integer) 1

//返回set的member个数,如果set不存在,返回0

redis 127.0.0.1:6379> scard list
(integer) 3

//从set中返回一个随机member

redis 127.0.0.1:6379> srandmember list
"redis2"

// 将 list2 里的 值 kkk 移动到 list

redis 127.0.0.1:6379> smove list2 list kkk
(integer) 1

//Redis Sunion 命令返回给定集合的并集。不存在的集合 key 被视为空集。(简单说,合并两个集合,移除重复)

# Sdiff 刚好与之相反

redis 127.0.0.1:6379> sunion list list2

/**

有序集合

Redis 有序集合和集合一样也是string类型元素的集合,且不允许重复的成员。

不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。

有序集合的成员是唯一的,但分数(score)却可以重复。

**/

//新增一个 有序集合

redis 127.0.0.1:6379> zadd key 1 "hellow"
(integer) 1
redis 127.0.0.1:6379> zadd key 2 "hello"
(integer) 1
redis 127.0.0.1:6379> zrange key 0 -1
1) "hellow"
2) "hello"
redis 127.0.0.1:6379> zrange key 0 -1 withscores
1) "hellow"
2) "1"
3) "hello"
4) "2"
redis 127.0.0.1:6379>