Redis五大数据类型使用详解-hash-zset
Redis五大数据类型使用详解-String,请见上一篇博文
Redis五大数据类型使用详解-List-Set,请见上一篇博文
四. Hash类型
hash类型:就是一个map结构,key-value对,类似于java中的Map<String, String>,注意:泛型只能是String。Hash特别适用于存储对象。
向hash结构中存元素:指令hset <key> <<field> <value>>
,其中,<key>
表示key,<<field> <value>>
表示key的值,值是hash类型,所以值也是key-value的形式
批量设置hash的值:指令hmset <key> <<field1> <value1> <field2> <value2...>>
获取元素:指令hget <key> <field>
检查hash表key中是否存在某field(即key中是否存在某key):指令hexists <key> <field>
列出该哈希集合key中的所有field: 指令hkeys <key>
列出该哈希集合key中的所有value: 指令hvals <key>
获取该哈希集合key中所有的键值:指令hgetall <key>
为哈希表key中的field的值加上增量increment :指令hincrby <key> <field> <increment>
该指令只能是数值类型的值,减去:指令hdecrby <key> <field> <负数>
将哈希表key中的field设置为值value :指令hsetnx <key> <field> <value>
不能为已存在的field赋值。
【在redis中写中文:启动客户端的时候:redis-cli --raw
可以显示中文。】
五. zset 类型
有序的set集合。即有序,不重复,并且是key-value结构。
向zset集合中加入一个或多个元素:指令zadd <key> <score1> <value1> <score2> <value2>...
zset是有序集合,排序方式是按照分数从小到大排序,所以有序集合就有索引,指令zrange <key> <start> <end> [withscores]
。zrange表示按索引查询。
根据分数查询,返回有序集合中分数值介于min和max之间的所有成员(包括min和max):指令zrangebyscore <key> <min> <max> [withscores]
。zrangebyscore表示按照分数查询。
根据索引倒序(从大到小)输出:指令zrevrange <key> <start> <end>
为元素的分数加增量:指令zincriby <key> <increment> <value>
删除该集合下指定值的元素:指令zrem <key> <value>
统计该集合min和max分数区间内的元素个数:指令zcount <key> <min> <max>
返回该值在集合中的排名/索引,从0开始:指令zrank <key> <value>
zset是以元素为键,以分数为值。分数能重复,元素不能重复。
【应用:zset可以实现访问量排行】