redis数据类型

redis数据类型

  1. string(字符串类型),string是redis的最基本的类型,一个key对应一个value。是二进制安全的,意思是redis的string可以包含任何数据(比如jpg图片或者序列化对象)。
  2. hash类型: 是一个string类型的field和value的映射表,hash特别适合用于存储对象
  3. list类型:Redis列表是简单的字符串列表,按照插入顺序排序。可以选择头插或者尾插。
  4. set类型:string类型的无序集合,集合中成员是唯一的。另外redis中集合是通过hash table实现的,所以增加、删除、查找的时间复杂度都是O(1).

    redis的set是string类型的无序集合(不能存放对象),集合成员是唯一的,这就意味着集合中不能出现重复的数据。
    redis中的集合通过hash表实现的,所以添加删除,查找的复杂度都是O(1).
    通过smembers查看集合项时,是通过字典序输出的。

  5. sorted set类型:和无序集合类似不允许有重复的成员,不同的是每个元素都会关联一个double类型的分数,redis正是通过分数来为集合中的成员进行从小到大的排序。有序集合的成员是唯一的,但是分数却可以重复。

    作为一个集合,自然可以进行交并的操作。在做交运算的时候会把两个相同member的score值相加放入c中;并运算的时候两个集合中不同项score值不变,相同元素score值相加。
    在redis聚合(交\并运算)的时候,有几个参数(sum, min, max)默认的是sum
    有序集合算法复杂度:

    • 增删:O(M*log(N)), N 为有序集的基数, M 为被成功操作(新增、移除)的成员的数量。
    • 查询:O(log(N)+M), N 为有序集的基数,而 M 为结果集的基数。
    • 聚合:O(N)+O(M log(M)), N 为给定有序集基数的总和, M 为结果集的基数。
    • 总数:O(1)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值