Redis的五大数据类型

注意

这里只是介绍这五大数据类型的一些理论知识,他们的常见的指令在Redis的基础命令这里

String

  1. String是Redis最基本的类型,你可以理解成与Memcached一模一样的类型,也就是一个key对应一个value
  2. String类型是二进制安全的,也就是说Redis的String可以包含任何数据。比如JPG图片和序列化的兑现(Json类型)等等
  3. String是Redis最基本的数据类型,也是我们在日常中使用最多的类型,一个Redis的字符串value可以存储512M的数据,相当于半个G。

List

  1. List是单建多值类型,简单来说就是一个键能存放多个值
  2. Redis列表是简单的字符串列表,按照插入顺序排序,你可以添加一个元素导列的头部(左)或尾部(右)
    简单来说就是Redis的LIst虽然可以存放多个值,但是这些值只能是String类型哪怕是set,hashzset这些同样只能存储字符串,而且你添加值得时候只能添加在开头或结尾
  3. 它的底层实际上是一个双向链表,和java的双线链表基本一致,通过索引下标的操作,中间的节点新能比较差,两边的性能非常好

set

  1. set和list所提供的功能非常类似,但是set能够自动排重,也就是说set不支持存储重复的数据
  2. set提供了判断存储value的某个值是否存在的接口,这个是list没有的
  3. Redis的set同样是String类型的无序集合,底层是一个value为null的hash表,所以CRUD的复杂度都是O(1)
    举个例子
    在一个set类型中存储了key=a value=1 2 3,实际上在底层是(a,1)(a,2)(a,3)这样存储的,如果只是创建一个set类型并没有赋值的话就是(a,null)(a,null)(a,null)这种类型,所以在set里面无法通过索引获取元素

hash

  1. Redis的hash是一个键值对集合
  2. Redis的hash是一个String类型的field和value的映射表
  3. hash特别适合用于存储对象(可以理解为类似JSON数据格式)
  4. hash有点类似于java的Map<String,String>
  5. hash时候用于存储对象数据,详情可看这一篇

zset(sorted set)

  1. 称为Redis中最复杂的数据类型
  2. Redis的有序集合zset和普通集合set非常相似,是一个没有重复元素的字符串集合。不同之处是有序集合的每个成员都关联了一个评分(score),这个评分用来按照从最低分到最高分的方式排序集合中的成员。
  3. 集合的成员是唯一的,但是评分(score)是可重复的
  4. 值为键(key),分数为值(value)
  5. 因为元素是有序的,所以我们可以很快的根据评分(score)或者次序(position)来获取一个范围的元素。
  6. 访问有序集合的中间元素也是非常快的,因此你能使用有序集合作为一个没有重复成员的智能列表
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值