1. hash数据类型与结构
hash类型介绍
hash数据结构 是一个键值对(key-value)集合,它是一个 string 类型的 field 和 value 的映射表,redis本身就是一个key-value型数据库,因此hash数据结构相当于在value中又套了一层key-value型数据。所以redis中hash数据结构特别适合存储关系型对象。比如用来存储学生基本信息,或者用户信息等。
1.1 常用命令
hmset key field value [field value]…
用于同时将多个field-value (字段-值)对设置到哈希表中。假如hash表中已经存在field,则会对其进行覆盖。如果哈希表不存在,会创建一个空哈希表,并执行 HMSET 操作。
Hgetall
用于返回哈希表中,所有的字段和值。
Hmget
用于返回hash表中field字段对应的值,如果field不存在,那么返回nil值。
Hset
对hash表中field对应的value进行赋值,如果哈希表不存在,一个新的哈希表被创建并进行 HSET 操作。
Hvals
用于返回哈希表所有field对应的值。
Hdel
用于删除指定哈希表中的一个或多个field,不存在的field将被忽略。
1.zset类型与结构
介绍
redis有序集合也是集合类型的一部分,所以它保留了集合中元素不能重复的特性,但是不同的是,有序集合给每个元素多设置了一个分数,利用该分数作为排序的依据。
1.常用命令
zadd
向一个有序集合中加入一个或者多个元素及其分数。假如加入的元素已经存在,那么更新这个成员的分数值,然后进行重新插入,来定位自己的位置。如果key不存在,那么创建一个新的有序集合并进行插入操作。
zrange
用于返回指定区间内的成员。其中成员的位置按分数值递增(从小到大)来排序。这里的下标参数都是从0开始的,负数代表是从最后一个成员算起,-1表示最后一个成员。
ZREVRANGE
用于返回指定分数区间内的成员。其中成员的位置按分数值递减(从大到小)来排序。
zrangebyscore
返回有序集合中指定分数区间的成员列表。其中集成员按分数值递增(从小到大)来排序。
Zrank
用于返回有序集中指定成员的排名。
Zrem
用于移除有序集中的一个或多个成员,不存在的成员将被忽略。
Zscore
返回有序集中,成员的分数值。 如果成员元素不是有序集 key 的成员,或 key 不存在,返回 nil 。
Zscan
用于迭代有序集合中的元素(包括元素成员和元素分值)。
Zcard
用于计算有序集合中元素的数量。
Zcount
用于计算有序集合中指定分数区间的成员数量。