Redis的数据类型-hash & List & Set & ZSet & HyperLogLog

122 阅读3分钟

这是我参与11月更文挑战的第12天,活动详情查看:2021最后一次更文挑战

二.hash类型

1.简介

hash类型是string类型的field和value的映射表,是string类型的集合 hash类型比较适用于存储对象 一个对象存储在string类型中比存储在hash类型中占用更多的内存

2.hash命令

  1. hset key field value 作用:为指定的key设置属性和值

  2. hmset key field1 value1 field2 value2 作用:为指定的key设置多个属性和值

  3. hget key field 作用:获取指定key的指定属性的值

  4. hmget key field1 field2 作用:获取指定key的多个指定属性的值

  5. hgetall key 作用:获取指定key的所有属性的值

  6. hdel key field 作用:删除指定key的指定属性

  7. hlen key 作用:返回key属性的数量

  8. hkeys key 作用:返回指定可以的属性

  9. hsetnx key field value 作用: 给指定key设置属性,如果不存在这个属性就设置一个新的属性,返回1,如果存在,就不进行赋值,返回0

  10. hincrby key field num 作用:给key的属性增加num(必须为整型数据)

  11. hincrbyfloat key field float 作用:给key的属性增加float(必须为浮点型数据)

  12. hexists key field 作用:查看key中是否有这个属性

3.应用场景

用于存储一个对象

三.List类型

1. 简介

list类型数据是一个列表,可以向列表里面一直存数据

2.list命令

命令太多啦 直接看菜鸟教程的就好了,我懒的打了 菜鸟教程-List

3.应用场景

消息队列 等等需要用到按插入顺序进行输出的数据

四.Set类型

1.介绍

set类型是string类型的无序集合,集合成员是唯一不可重复的 在list中的数据是可以重复的

2.set命令

参考菜鸟教程-set

3.应用场景

博客的标签 好友共同的兴趣爱好 一些不可重复的数据 一些可能需要使用交集,并集,差集操作的数据

五.Zset类型

1.介绍

zset类型是string类型的有序集合,是set类型的补充

zset类型也是唯一不重复的,不过zset类型中的数据会关联一个double类型的分数,通过这个分数进行排序,这个分数可以重复,每个集合可以存放40亿个成员

2.Zset命令

参考菜鸟教程-sorted_set

3.应用场景

排行榜 需要用到排序的数据

六.HyperLogLog数据

1.介绍

hyperloglog是用来做基数统计的算法,基数就是指在一个集合中,出现过多次的数也只计一次,然后把这些数组成一个新的集合

使用hyperloglog来统计基数,只需要花费12kb的内存,就可以计算将近2^64个不同元素的基数,但是不能输出各个元素

2.HyperLogLog命令

参考菜鸟教程-HyperLogLog

3.应用场景

统计注册ip数,访问数,真实阅读数,在线用户数 适合需要数据量大,又需要统计基数的数据