Redis学习(3)

redis的五大基本类型之后三


前言

上篇文章我们学习了redis的前两大类型String和List。尽管在日常开发中这已经足够开发使用了,但是这对于我们redis学习人员来说,并不能说是真正的深入学习,所以我们下面就简单介绍一下后三种类型。


一、Set

redis中的Set和Java基础中的很类似,set中的值是不能重复的、无序不重复集合。所以这一大特性也是Set作为一种独特的类型来实现某些功能的有点。

Set和List很类似,Set集合的命令是以S开头的,所以就是说 我们只要在String学习中基本熟悉命令,就可以快速学习其他类型。

sadd set member 往set中添加元素

smemebers set 查看set中的所有值

sismember set member 判断set中是否存在这个value
					(返回1表示存在 返回0表示不存在)

scard set 获取set集合中的元素个数

srem set member 移除set中的某个元素

srandmember set acount  从set中随机抽选元素 (acount表示数量)

spop set 随机移除一个元素

smove source destination member 
							将原set集合中的元素移动到另一个set集合 

同时,如果我们要实现类似数学上的交集并集补集等功能,也可以使用Set来实现。比如说,两个用户的共同好友,就可以使用Set可以求两个用户的好友的交集来实现。

数字集合类:

sdiff set1 set2 查找两个集合中的不同的元素 (差集)

sinter set1 set2 查找两个集合中的相同元素 (交集)  

sunion set1 set2 查找两个集合中的所有元素(并集)

二、Hash

Hash类型就相当于Java类型中的Map集合,也是使用键值对(key–value)的方式来进行存储数据,类似的,Hash类型的命令是以H开头的命令。

hset hash field value 给hash中的元素赋值(一个具体的key-value)
 
gset hash field	取出hash中对应字段的值

hmset hash field value[field value...] set多个 key-value

hmget hash field [field...] 获取多个字段值

hgetall hash 获取hash全部的值

hash本质和string类型没有太大的区别

hdel hash field[field...] 
						删除hash指定的key字段对应的一个或多个字段值
hlen hash 获取hash的长度

hexists hash field判断hash中的指定字段是否存在

hkeys hash 获取hash中所有的key

hvalues hash 获取hash中所有的value

hincrby hash field increment 
					给指定的字段自增 (increment 自增的数量)
hdecrby hash field increment
					给指定的字段自减 (increment 自减的数量)

hsetnx hash field value 如果不存在就创建、如果存在就创建不成功 

对于Hash来说,redis的应用是更适合信息经常变动的对象,例如我们可以把用户的常用信息,比如昵称、头像等存到数据库中。

三、ZSet

Zset和Set同处一源,但是Zset是一个有序集合,而Set是无序的集合,当然,Zset的命令是以z开头的。

zadd zset score member 
				往zset集合中添加一个元素(score是标志,标志顺序)
				
zadd zset score member[...] 往zset集合中添加多个元素

zrange zset 0 -1 获取zset中所有的值

zrangebyscore zset min max 
				将zset集合中的元素按照范围中的最大最小值排序
zrangebyscore zset -inf +inf 
				将zset集合中的元素全部排列出来(从小到大)
zrangebyscore zset -inf +inf withsocres 
				将zset集合中的所有元素带着数值排列出来

zrem zset member[member...]  
				移除zset集合中的一个或多个元素
				
zcard zset 获取有序集合中元素的个数

zrevrange zset start stop 

zrevarange zset 0 -1 从大到小进行排序

zcount zset min max 获取指定区间中元素的个数 

四、总结

以上三种Set、Hash、Zset就是五大数据类型中的后三种,加上之前学的两种,至此五大类型学习完成。

猜你喜欢

转载自blog.csdn.net/z318913/article/details/121523158