目录
一、Set集合类型详解
1、概述
set集合是无序的;
set集合里面的值是不允许重复的;
set相关命令都是以s开头的;
2、添加元素
格式:
sadd key value演示:

3、获取set集合的元素
格式:
smembers key演示:

4、判断某个元素是否存在于某set集合中
格式:
sismember key value演示:

5、获取set集合中元素的个数
格式:
scard key演示:

6、移除指定的元素
格式:
srem key value演示:

7、随机获取set集合中的一个元素
格式:
srandmember key演示:

8、随机获取指定个数的元素
格式:
srandmember key number演示:

9、随机移除一个元素(随机移除指定数量的元素)
格式:
spop key (number)演示:

10、将一个set集合中的指定元素移动到另一个集合里面
格式:
smove key1 key2 value
# key1指的是原集合,key2指的是目标集合,value指的是指定的要移动的元素演示:

11、set集合的差集、交集、并集
格式:
sdiff key1 key2
# key1 - key2
sinter key1 key2
# key1与key2交集
sunion key1 key2
# key1与key2并集演示:

二、Hash(哈希)类型详解
1、概述
类似于一个Key-Map集合,key-<key-vlaue>,也是key-vlaue集合,这是value是一个map;
相关操作以h开头;
这是一个集合!并非一个单一的值!
2、添加和获取值
格式:
hset key field value
# 存
hget key field
# 取演示:

3、批量添加
格式:
hmset key field1 v1 field2 v2 。。。 以此类推即可演示:

4、批量获取
格式:
hmget key field1 field2 field3 。。。以此类推即可演示:

5、获取全部是数据
格式:
hgetall key演示:

6、删除指定key的字段(对应的value也随之删除)
格式:
hdel key field演示:

7、获取hash表的字段数量
格式:
hlen key演示:

8、判断hash中的指定字段是否存在
格式:
hexists key field演示:

9、获取hash的所有字段
格式:
hkeys hash演示:

10、获取hash的所有字段
格式:
hvals key演示:

11、自增、自减
格式:
hincrby key field num
# 自增num为正数,自减num为负数演示:

12、如果不存在则添加(类似String字符串)
格式:
hsetnx key field value演示:

13、使用场景
变更数据,name,age,sex等等;
hash更适合存储对象;
String更适合字符串存储;
例如:

三、Zset(有序集合)
1、概述
在set的基础上增加了一个值,set k1 v1 zset k1 score1 v1;
命令以z开头;
2、添加、获取
127.0.0.1:6379> zadd zset 1 hello # 添加一个元素
(integer) 1
127.0.0.1:6379> zadd zset 2 zibo 3 world 4 dog # 添加多个元素
(integer) 3
127.0.0.1:6379> zrange zset 0 -1 # 获取所有元素
1) "hello"
2) "zibo"
3) "world"
4) "dog"3、排序
127.0.0.1:6379> zrangebyscore zset -inf +inf # 按照score排序,从负无穷到正无穷
1) "hello"
2) "zibo"
3) "world"
4) "dog"4、附带信息的排序
127.0.0.1:6379> zrangebyscore zset -inf +inf withscores
1) "hello"
2) "1"
3) "zibo"
4) "2"
5) "world"
6) "3"
7) "dog"
8) "4"5、降序排序
127.0.0.1:6379> zrevrangebyscore zset +inf -inf withscores
1) "dog"
2) "4"
3) "world"
4) "3"
5) "zibo"
6) "2"
7) "hello"
8) "1"6、移除指定元素
127.0.0.1:6379> zrange zset 0 -1
1) "hello"
2) "zibo"
3) "world"
4) "dog"
127.0.0.1:6379> zrem zset zibo
(integer) 1
127.0.0.1:6379> zrange zset 0 -1
1) "hello"
2) "world"
3) "dog"7、获取zset集合的元素数量
127.0.0.1:6379> zcard zset
(integer) 38、统计存于一个范围的元素的数量
127.0.0.1:6379> zrange zset 0 -1
1) "hello"
2) "zibo"
3) "world"
4) "dog"
127.0.0.1:6379> zrem zset zibo
(integer) 1
127.0.0.1:6379> zeange zset 0 -1
(error) ERR unknown command 'zeange'
127.0.0.1:6379> zrange zset 0 -1
1) "hello"
2) "world"
3) "dog"
127.0.0.1:6379> zcard zset
(integer) 3
127.0.0.1:6379> zcount zset 2 4
(integer) 2
127.0.0.1:6379>9、备注
其他的api,可以到官网去查看;
10、应用思路
班级成绩、公司工资排序;
带权重的消息;
排行榜;
版权声明:本文为qq_29689343原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。