• 【Redis】redis 十大数据类型 概述


    在这里插入图片描述

    个人简介:Java领域新星创作者;阿里云技术博主、星级博主、专家博主;正在Java学习的路上摸爬滚打,记录学习的过程~
    个人主页:.29.的博客
    学习社区:进去逛一逛~

    在这里插入图片描述



    一、redis字符串(String)


    • String是redis最基本的类型,一个key对应一个value
    • String类型是二进制安全的,可存放任何数据,包括图片、序列化对象等。
    • 一个redis中的字符串value值大小最多512M



    二、reids列表(List)


    • redis列表是简单的字符串列表,可添加元素至表头表尾
    • 底层实际是个双端链表,最多可包含2^32-1个元素(4294967295)



    三、redis哈希表(Hash)


    • redis hash 是一个String类型的field(字段)和value(值)的映射表。
    • redis中每个hash可以存储2^32-1个键值对(40多亿)



    四、redis集合(Set)


    • Redis的Set是String类型的无序不可重复集合,集合对象的编码可以是intset或者hashtable
    • Redis中Set集合是通过哈希表实现的,添加、删除、查找的复杂度都是O(1)
    • 集合中最多存放2^32-1个元素





    五、redis有序集合(ZSet)


    • Zset和set一样都是String类型的不可重复集合,但是有序的。
    • ZSet集合是通过哈希表实现的,添加、删除、查找的复杂度都是O(1)
    • 每个元素都会关联一个double类型的分数,以此为集合成员进行由小到大的排序。



    六、redis地理空间(GEO)


    • Redis在3.2版本以后增加了地理位置的处理
    • Redis GEO主要用于存储地理位置信息,并对存储的选项进行操作:
    • 1.添加地理位置的坐标
    • 2.获取地理位置的坐标
    • 3.计算两个地理位置间的距离
    • 4.根据用户给董定的经纬度坐标来获取指定范围内的地理位置集合。



    七、redis基数统计(HyperLoglog)


    • HyperLoglog 是用来做基数统计的算法,优点在于当输入元素的数量或者体积非常大时,计算基数所需的空间总是固定且很小的。
    • Redis中每个HyperLoglog键只需要花费12KB内存,就可以计算接近2^64个不同元素的基数。
    • 但,HyperLoglog只会根据输入的元素来计算基数,无法存储输入元素本身,所以无法像集合那样返回输入的各个元素。



    八、redis位图(bitmap)


    • 由0和1状态表现的二进制位的bit数组



    九、redis位域(bitfield)


    • 通过bitfield命令可以一次性操作多个bit位域(连续的多个bit位),它会执行一系列操作并返回一个响应数组,这个数组中的元素对应参数列表中的相应操作的执行结果。



    十、redis流(Stream)


    • Redis Stream 是Redis5.0新增的数据结构
    • 主要用于消息队列(MQ:Message Queue),Redis本身是一个Redis发布订阅(pub/sub)来实现消息队列的共嗯,但它有个缺点是消息无法持久化,出现网络断开,Redis宕机时消息会被丢弃。而Redis Stream提供了消息的持久化和主备复制功能,可以让任何客户端访问任何时刻的数据,并且能记住每一个客户端的访问位置,还能保证消息不丢失。

    在这里插入图片描述

  • 相关阅读:
    有人开源全凭“为爱发电”,有人却用开源“搞到了钱”
    Three开关门
    shell 查看当前日期时间
    react之useState详解
    Java中方法的注意事项
    PMP每日一练 | 考试不迷路-7.30(包含敏捷+多选)
    传输层——UDP
    LeetCode 278. 第一个错误的版本
    vue 兄弟组件通信, provide/inject,
    css 鼠标滑过组件变色
  • 原文地址:https://blog.csdn.net/ebb29bbe/article/details/129668565