计算机存储层次及常用存储简介

news2024/11/27 6:32:12

计算机存储层次(Memory hierarchy)

存储层次是在计算机体系结构下存储系统层次结构的排列顺序。 每一层于下一层相比 都拥有 较高的速度较低延迟性 ,以及 较小的容量 (也有少量例外,如AMD早期的Duron CPU)。大部分现今的中央处理器的速度都非常的快。大部分程序工作量需要存储器存取。由于高速缓存的效率和存储器传输位于层次结构中的不同等级,所以实际上会限制处理的速度,导致中央处理器花费大量的时间等待存储器I/O完成工作。

大部分电脑中的存储层次如下四层:

  1. 寄存器 :可能是最快的存取。在32位处理器,每个寄存器就是32位。x86处理器共有16个寄存器。

  2. 高速缓存 Cache (L1-L3:SRAM、L4:DRAM)

    • 第一级高速缓存(L1)–通常存取只需要几个周期,通常是几十个KB。

    • 第二级高速缓存(L2)–比L1约有2到10倍较高延迟性,通常是几百个KB或更多。

    • 第三级高速缓存(L3)–比L2更高的延迟性,通常有数MB之大。

    • 第四级高速缓存(L4)(不一定有)–CPU外部的DRAM,但速度较主存高。

  3. 主存(DRAM) : 存取需要几百个周期,可以大到数十GB。

  4. 磁盘存储 :需要成千上万个周期,容量非常大。

image-20230705164929045

内存层次结构

存储器的种类很多,按其用途可分为主存储器和辅助存储器,主存储器又称内存储器(简称内存),辅助存储器又称外存储器(简称外存)。内存储器最突出的特点是存取速度快,但是容量小、价格贵;外存储器的特点是容量大、价格低,但是存取速度慢。内存储器用于存放那些立即要用的程序和数据;外存储器用于存放暂时不用的程序和数据。内存储器和外存储器之间常常频繁地交换信息。

img

内存层次结构及其运作方式的描述

内存(memory)

内存在电脑中起着举足轻重的作用。内存一般采用半导体存储单元,包括随机存储器(RAM),只读存储器(ROM),以及高速缓存(CACHE)。

内存可分为 易失性存储器非易失性存储器 两类,前者在掉电后会失去记忆的数据,后者即使在切断电源也可以保持数据。

内存
内存结构分类

RAM(Random Access Memory)

RAM,即Random Access Memory 随机存储内存RAM 是与CPU直接交换数据的内部存储器,也叫主存(内存) 。另外,一些变量,都是放到RAM里的。这种存储器在断电时将丢失其存储内容,故主要用于存储短时间使用的程序。

之所以叫做“随机存取”,是因为相对于早期现行存储媒介(磁带?很久以前的)而言,因为磁带的存取是线性的,存取时间由目前磁带位置和目的位置的距离而定(类似数据结构中的线性表)。需要转动刺头到应有的位置,因此距离越长,转的就越久了,读写时间也越久。而伟大的RAM没有这种限制,存取时间为固定值(类似数组这种下表式访问,下标就是地址),不会因为存储资料在memory中的位置而影响读取时间。

RAM大致可以分为两种:SRAM与DRAM,这两者基本原理上有相同的地方,都是将电荷存储到记忆体内部,由此针对不同的电荷存储0 or 1。

  • SRAM静态存储器(Static Random Access Memory,SRAM)利用双稳态触发器来保存信息
  • DRAM动态存储器(Dynamic Random Access Memory), 利用MOS电容存储电荷来储存信息。因此必须通过不停的给电容充电来维持信息,所以DRAM 的成本、集成度、功耗等明显优于SRAM。

SRAM DRAM 有几点不同:SRAM的结构比较复杂,单位面积的容量少,存取速度很快;DRAM则结构简单,单位面积存储的容量比较多,存取时间相对SRAM慢,同时 DRAM 因为构造比较简单,存储的电荷会随着时间逐渐消失,因此 需要定时再充电 (Refresh),以保持电容存储的资料。

image-20230523160111618

由图中的SRAM和DRAM构造可以知道, SRAM采用正反三极管+电容(flip-flop)构造存储器DRAM则是采用电容式存储 。因为SRAM和DRAM的种种特性上的不同, SRAM比较适合作为Cache ,配合CPU快速存取使用, DRAM则适合作为主存而使用

ROM(Read Only Memory)

ROM:只读存储器。在制造ROM的时候,信息(数据或程序)就被存入并永久保存。这些信息只能读出,一般不能写入,即使机器掉电,这些数据也不会丢失。 ROM一般用于存放计算机的基本程序和数据,如BIOS ROM 。ROM所存数据,一般是装入整机前事先写好的,整机工作过程中只能读出,而不像随机存储器那样能快速地、方便地加以改写。ROM所存数据稳定,断电后所存数据也不会改变,其物理外形一般是双列直插式(DIP)的集成块。

总的来说,ROM是在RAM的缺点下发展而来的,由于RAM掉电会丢数据,所以人们考虑要把一些数据永久存起来,于是有了ROM,只能读不能写(比如计算机BIOS)。后来又发现ROM里的程序有时候需要改一改,于是又发展出可以写入新数据的ROM,如EPROM、EEPROM、Flash等。 虽然已经违背了ROM的本意——只能读不能写,但出于历史原因,总体上还是称为ROM

现如今已经不能简单的把一个存储器说成是RAM或ROM,如电脑里的内存条是内存,有易失性,可读可写(RAM的特性);移动硬盘是外存,有非易失性(ROM的特性),可读可写(RAM的特性)。U盘是外存,有非易失性,可读可写。

目前ROM已经基本采用EEPROM 和 Flash ROM作为存储介质。常用的FLASH存储器主要包括NAND Flash和NOR Flash。它们在内部结构、性能特点和应用领域上有所不同。

  1. NAND Flash:

    Nand Flash 中的 Nand的意思是 Not AND与非门),意思就是该 Flash 的基础单元就是 与非门,如下所示:

    NAND Flash

    • 结构:NAND Flash存储器采用并行结构,将存储单元组织为存储单元阵列,每个存储单元阵列包含多个页,每页包含多个块,每块包含多个扇区。这种结构使得NAND Flash具有较高的存储密度。
    • 特点:
      • 高存储密度:NAND Flash的存储密度通常比NOR Flash更高,适用于存储大容量的数据。
      • 快速读取速度:NAND Flash具有较快的读取速度,适用于快速读取大量数据的应用。
      • 擦写耗时较长:NAND Flash的擦写操作需要较长时间,通常 以块为单位进行擦除
      • 适用于存储应用:由于高存储密度和较低的成本,NAND Flash 广泛应用于大容量存储设备 ,如固态硬盘(SSD)、USB闪存驱动器和存储卡等。
  2. NOR Flash:

    Nor Flash 中的 Nor的意思是 Not OR或非门),意思就是该 Flash 的基础单元就是 或非门,如下所示:

    Nor Flash

    • 结构:NOR Flash存储器采用并行结构,将存储单元组织为存储单元阵列,每个存储单元阵列包含多个块,每个块包含多个扇区。这种结构使得NOR Flash具有较快的读取速度和较低的访问延迟。
    • 特点:
      • 快速读取速度:NOR Flash具有较快的读取速度和较低的访问延迟,适用于需要快速随机访问的应用。
      • 擦写操作较快:NOR Flash的擦写操作相对较快, 可以按字节或按扇区进行擦除
      • 存储密度较低:NOR Flash的存储密度相对较低,适用于存储小容量的代码和程序。
      • 适用于代码执行:由于较快的读取速度和随机访问能力,NOR Flash 广泛用于嵌入式系统中存储代码、固件和启动程序 等。

Flash ROM(Flash Read-Only Memory)和EEPROM(Electrically Erasable Programmable Read-Only Memory)都是非易失性存储器,但它们在工作原理和应用方面存在一些区别。

  1. 擦除和编程方式:

    • Flash ROM:Flash ROM的擦除操作是以块为单位进行的,通常需要较长的时间。编程操作可以在单个字节或更小的存储单元上进行。
    • EEPROM:EEPROM可以以字节为单位进行擦除和编程。相比之下,EEPROM的擦除和编程操作更加灵活和精细。
  2. 存储密度:

    • Flash ROM:Flash ROM具有较高的存储密度,可以容纳大量的数据。这使得它在存储大容量程序、固件和数据时非常有用。
    • EEPROM:EEPROM的存储密度相对较低,通常适用于存储较小量的数据,如配置信息、用户数据等。
  3. 擦除速度:

    • Flash ROM:Flash ROM的擦除速度相对较慢,通常以块为单位进行擦除,需要较长的时间。
    • EEPROM:EEPROM的擦除速度相对较快,可以以字节为单位进行擦除,因此可以更快地执行擦除操作。
  4. 应用领域:

    • Flash ROM:Flash ROM广泛应用于固件存储、BIOS存储、固定数据存储等需要大容量和快速访问的应用中。
    • EEPROM:EEPROM常用于存储小容量的配置信息、校准数据、用户设置等需要频繁修改和维护的数据。

高速缓存(Cache)

Cache:高速缓冲存储器,也是我们经常遇到的概念,它位于CPU与内存之间,是一个读写速度比内存更快的存储器。 当CPU向内存中写入或读出数据时,这个数据也被存储进高速缓冲存储器中当CPU再次需要这些数据时,CPU就从高速缓冲存储器读取数据,而不是访问较慢的内存 ,当然,如需要的数据在Cache中没有,CPU会再去读取内存中的数据。

img

Cache 的工作原理

RAM和ROM的区别

一般来说会比较难以理解RAM与ROM和平时所说的运行内存和硬盘容量有什么关系,其实从一般意义上来说是一样的,但从计算机和手机的角度来说又有一些区别:

从电脑来说一般比较好理解,RAM就是我们平时所说的运行内存,它的确是随时可读写的。因为CPU处理的数据都是以运行内存为中介的。断电后信息是不保存的。

那么对于ROM来说,是不是就是硬盘呢?不是说ROM只可以读吗?硬盘却是可以修改的。的确,必须明确一点, RAM与ROM都是内存 ,而 硬盘是外存 ,所以ROM不等于硬盘。计算机中的ROM主要是用来存储一些系统信息,或者启动程序BIOS程序,这些都是非常重要的,只可以读一般不能修改,断电也不会消失。

RAM和ROM相比,两者的最大区别是RAM在断电以后保存在上面的数据会自动消失,而ROM不会自动消失,可以长时间断电保存。

在手机里面,RAM就是跟电脑一样的运行内存一样;而ROM就跟硬盘挂上钩了,手机中的ROM有一部分用来存储系统信息,还有一些装机软件,剩余的大部分容量都是就是拿来作为硬盘用的,可读可写。

外存(secondary storage)/辅存(auxiliary storage)

外存和辅存表示的是同一含义,都是现在计算机系统中用于长期存储数据和文件的存储介质。 外存中的数据需要先从外存加载到内存中,然后才能被CPU读取和处理

外存/辅存与内存的区别是很大的,主要有:

  • 访问速度和延迟:
    • 内存:内存(主存储器)的访问速度非常快,CPU可以在几个纳秒的时间内读取或写入数据。它具有低延迟和高带宽,适合存储正在执行的程序和临时数据。
    • 外存:外存(辅助存储器)的访问速度较慢,通常以毫秒级别的时间来衡量。与内存相比,外存的访问延迟较高,需要更多的时间来读取和写入数据。
  • 成本/容量:
    • 内存:内存相对较昂贵,其成本较高。由于内存的高速和性能优势,它是计算机系统中重要的组成部分,但存储容量有限,且成本较高。
    • 外存:外存的成本相对较低,比内存更具经济性。外存的存储容量通常比内存大得多,可以容纳大量的数据,适合用于长期存储和数据备份。
  • 持久性:
    • 内存:内存是一种易失性存储器,意味着当计算机断电时,内存中的数据将会丢失。内存中的数据需要定期保存到外存或其他非易失性存储介质中,以防止数据丢失。
    • 外存:外存是一种非易失性存储器,它可以持久地保存数据。即使在断电情况下,外存中的数据也能够保持不变。

另外需要注意的是,由于单片机是SOC,其内部已经把CPU、存储器、I/O设备集成到了一块小芯片上。单片机的内存包括程序存储器(通常是闪存或EEPROM)和数据存储器(RAM)。程序存储器用于存储单片机的程序代码,而数据存储器用于存储程序执行期间的变量和数据。

磁盘存储

  • 磁盘是由盘片(platter)构成的;
  • 每个盘片如同切西瓜一样被“切”成一块一块的扇面,同时沿着半径的方向被划分成了一组同心圆叫磁道(track);
  • 每条磁道被扇面切成很多的扇形区域叫做扇区(sector), 扇区是从磁盘读出和写入信息的最小单位,包含相等数量的数据位,通常为512字节;
  • 不同盘片相同半径的磁道所组成的圆柱称为柱面(cylinder)。

hdd_structure

磁盘的容量: 磁头数 × 磁道数 × 每道扇区数 × 每扇区字节数

固态硬盘

固态硬盘(Solid State Disk, SSD),由一个或多个闪存芯片和闪存翻译层(flash translation layer)组成。

  • 闪存芯片存储内容。
  • 闪存翻译层对逻辑块的请求翻译成对底层物理设备的访问。

SolidStateDiskSSD-1

目前根据密度差异闪存颗粒会主要分为SLC、MLC、TLC、QLC、PLC(未面世)五种类型:

img

SLC(Single-Level Cell)

又称为单层式储存 ,即每单元存储可1bit信息(1bit/cell)。一个萝卜一个坑的存储容量,这也意味着采用SLC颗粒的SSD容量注定不会太大,但除了这个“缺憾”之外,SLC的其他方面则要更加优于其他类型的闪存颗粒。

SLC的擦写寿命是5种颗粒中最长的,能够达到约10万次。另外SLC也是五种颗粒类型中读写速度最快、读写数据最精确、质量最好同时造价也是最贵的颗粒,目前基本上只用于企业级高端固态硬盘中,也有极少部分高端消费级SSD在使用。

MLC(Multi-Level Cell)

又称为双层式储存 ,即每单元存储可2bit信息(2bit/cell)。两个萝卜一个坑的存储容量,只能说比SLC好一点,但成本相对于SLC要大大降低。

但MLC的擦写寿命要比SLC差不少,仅能够达到约1万次。且相较于SLC,MLC的读写速度、质量、精确度都次于SLC,成本也要远高于除SLC以外的其他颗粒,价格昂贵,目前多用于工业存储中,不过随着技术和消费水平的提升也有一些品牌会使用MLC到消费类产品上。

TLC(Trinary-Level Cell)

又称为三层式储存 ,即每单元存储可3bit信息(3bit/cell)。到此可以看出这五种闪存颗粒每单元可存储的信息是层层递进的,都是在上一个的基础上+1bit信息,容量越来越大。

TLC是目前最常见到的闪存颗粒,应用非常广泛,其擦写寿命能够达到约1000次。虽然在数据上,TLC的读写速度、颗粒质量以及寿命都不及SLC和MLC,但其成本要低得多,如果作为日常使用其实能完全满足普通消费者的需求。目前TLC多用于市面上的中高端SSD中,比较受主流SSD的青睐。

QLC(Quad-Level Cell)

又称为四层式储存 ,即每单元存储可4bit信息(4bit/cell)。其擦写寿命最短,仅能够达到150次,但存储密度最大、成本也最低,优势还是很明显的。目前主要被低端大容量的SSD使用,能够为大容量的SSD带来更长的使用寿命,足以供给一些消费者日常使用。

PLC(Penta-level cell)

又称为五层式储存 ,即每单元存储可5bit信息(5bit/cell)。该闪存颗粒目前还没有正式产品发布,但有希望在未来的几年内问世,相信能够为SSD产品带来更大的存储空间和单元存储更低的成本。不过PLC的推广将很大受限于它的速度和寿命,还需进一步了解。

根据上述内容可将闪存颗粒按照数据稳定性、速度以及价格排序为SLC>MLC>TLC>QLC>PLC,容量则相反SLC<MLC<TLC<QLC<PLC。就目前来说主流消费级SSD品牌都在使用的是TLC闪存颗粒,虽然速度和寿命上不及使用SLC和MLC颗粒的SSD,但如果搭配上优秀的主控以及高速接口,表现还是不俗的,再加上3D NAND技术让存储单元立体化,让闪存颗粒容量倍增,降低了存储成本也让擦写寿命大大延长,可以说运用了3D NAND技术的3D TLC颗粒实现了性能跃进。

参考文献

  1. 必知必会-存储器层次结构 - 知乎
  2. 内存层次结构 - 维基百科
  3. 内存,RAM,ROM,Cache的区别与联系_memorypageo.rom:orgin=0c00h.length 1000hpaoej🐏_一只青木呀的博客-CSDN博客
  4. 6 存储器层次结构
  5. What is Cache Memory? Cache Memory in Computers, Explained
  6. 存储器分类 - 简书
  7. 图解RAM结构和原理 - 知乎
  8. 【嵌入式基础小知识】Nand Flash VS Nor Flash_机器灵魂注入师的博客-CSDN博客
  9. 存储颗粒:SLC、MLC、TLC、QLC、PLC有什么区别?-中关村在线

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/722227.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

pod 控制器 3

简单回顾 之前我们学习过的的 docker ,例如我们运行 docker run busybox echo "hello wrold" 他的实际内在逻辑是这个样子的 程序将指令推送给 dockerdocker 会检查本地是否有 busybox 镜像,若没有则去 docker hub 上面拉取镜像,…

windows下mysql配置文件my.ini在这个位置

windows下mysql配置文件my.ini在这个位置 选中服务邮件 右键----属性,弹出下图 一般默认路径: "D:\Program Files\MySQL\MySQL Server 8.0\bin\mysqld.exe" --defaults-file"C:\ProgramData\MySQL\MySQL Server 8.0\my.ini" MySQ…

信息安全管理与评估赛题第4套

全国职业院校技能大赛 高等职业教育组 信息安全管理与评估 赛题四 模块一 网络

simulink 常用模块

add sub pro div加减乘除 Relational Operator 数值比较模块 < < > > ! Compare To Constant 直接和某数字比较&#xff0c;是上面的封装 Logical Operator 逻辑运算 & | ~ switch 相当于c语言的if 中间是条件&#xff0c;满足走上&#xff0c;否则走下…

上门按摩小程序开发|同城预约上门小程序定制

上门按摩小程序对实体按摩商家来说是非常适合的。下面是对上门按摩小程序适合实体按摩商家开发的简单介绍&#xff1a;   扩展服务范围&#xff1a;上门按摩小程序可以让实体按摩商家将服务范围扩展到用户的家中或办公场所。用户可以通过小程序预约上门按摩服务&#xff0c;无…

【openGauss数据库】--运维指南03--数据导出

【openGauss数据库】--运维指南03--数据导出 &#x1f53b; 一、openGauss导出数据&#x1f530; 1.1 概述&#x1f530; 1.2 导出单个数据库&#x1f537; 1.2.1 导出数据库&#x1f537; 1.2.2 导出模式&#x1f537; 1.2.3 导出表 &#x1f530; 1.3 导出所有数据库&#x1…

计算两个二维数组arr1和arr2中对应位置元素的商

代码实现 &#xff1a;一个嵌套循环&#xff0c;用于计算两个二维数组arr1和arr2中对应位置元素的商&#xff0c;并将结果存储在result数组中。首先&#xff0c;定义了一个空数组result用于存储结果。然后&#xff0c;通过两个for循环遍历arr1数组的每一行和每一列。在内层循环…

[SWPUCTF 2021 新生赛] ez_unserialize

打开链接但是没有题目 使用御剑扫一下 flag.php打不开&#xff0c;但是在robots.txt里面我们找到了一个路径 /cl45s.php 打开之后是PHP源码 简单审一下,构造pop链&#xff1a; 链尾&#xff08;就是最终我们想要利用的地方&#xff09;&#xff0c;在echo $flag 并且include了…

基于改进莱维飞行和混沌映射的粒子群算法(10种混沌映射随意切换),附matlab代码

“ 本篇文章对粒子群优化算法进行改进&#xff0c;首先通过引入混沌映射机制&#xff0c;对其群体进行初始化&#xff0c;增加粒子群个体的多样性&#xff1b;然后在粒子群个体的位置更新公式上引入改进的莱维飞行机制&#xff0c;提高搜索精度&#xff0c;帮助粒子群个体跳出局…

云原生(第三篇)-k8s资源管理的两种方式

陈述式资源管理方法&#xff1a; 1.kubernetes 集群管理集群资源的唯一入口是通过相应的方法调用 apiserver 的接口 2.kubectl 是官方的CLI命令行工具&#xff0c;用于与 apiserver 进行通信&#xff0c;将用户在命令行输入的命令&#xff0c;组织并转化为 apiserver 能识别的…

四十一、动态规划——树形DP、记忆化搜索例题题解

算法主要内容 一、树形DP1、题目内容2、状态划分&#xff08;1&#xff09;存储&#xff08;2&#xff09;状态集合划分 3、题解 二、记忆化搜索1、题目内容2、状态划分&#xff08;1&#xff09;状态编号&#xff08;2&#xff09;状态划分 3、题解 一、树形DP 1、题目内容 2…

瑞芯微:基于RKNN3568得ufldv2部署

Lane检测是自动驾驶和高级驾驶员辅助系统&#xff08;ADAS&#xff09;的基本组成部分&#xff0c;用于区分和定位道路上的车道线。尽管深度学习模型已经取得了巨大成功&#xff0c;但仍有一些重要且具有挑战性的问题需要解决。 第一个问题是效率问题。在实践中&#xff0c;车…

猜猜看!哪张甜甜圈图是真的?AI数字人商业实践「真经」;LangChain X Prem挑战赛;故事绘本生成与盈利平台 | ShowMeAI日报

&#x1f440;日报&周刊合集 | &#x1f3a1;生产力工具与行业应用大全 | &#x1f9e1; 点赞关注评论拜托啦&#xff01; &#x1f916; 猜猜看&#xff01;你觉得&#xff0c;哪张甜甜圈的图片是真的&#xff1f; 这是 Reddit网站 Midjourney 子区发起的一项趣味挑战&…

【计算机视觉】对比学习采样器sampler

前置知识准备 Samplers — Open Metric Learning documentation​​​​​​ 在该文档里&#xff0c;category表示类别&#xff0c;label表示商品&#xff0c;instance表示商品不同角度的图片。 category就是blouses_shirts&#xff1b;label就是15&#xff1b;instance就是这…

【设计模式】第十章:组合模式详解及应用案例

系列文章 【设计模式】七大设计原则 【设计模式】第一章&#xff1a;单例模式 【设计模式】第二章&#xff1a;工厂模式 【设计模式】第三章&#xff1a;建造者模式 【设计模式】第四章&#xff1a;原型模式 【设计模式】第五章&#xff1a;适配器模式 【设计模式】第六章&…

【数据可视化】SVG(一)

一、邂逅SVG和初体验 什么是SVG  SVG全称为&#xff08;Scalable Vector Graphics&#xff09;&#xff0c;即可缩放矢量图形。&#xff08;矢量定义&#xff1a;既有大小又有方向的量。在物理学中称作矢量&#xff0c;如一个带箭头线段&#xff1a;长度表示大小&#xff0…

(位运算) 1356. 根据数字二进制下 1 的数目排序 ——【Leetcode每日一题】

❓ 1356. 根据数字二进制下 1 的数目排序 难度&#xff1a;简单 给你一个整数数组 arr 。请你将数组中的元素按照其二进制表示中数字 1 的数目升序排序。 如果存在多个数字二进制中 1 的数目相同&#xff0c;则必须将它们按照数值大小升序排列。 请你返回排序后的数组。 示…

python flask sqlite http服务

python flask 服务 为了让拼接项目能够简单实用http服务&#xff0c;用python flask 来做一个http服务&#xff0c;使用python的原因是拼接项目本身很多人工智能的服务是用python来写。数据库为了简单实用sqlite&#xff0c;python自带sqlite3 ,很方便 db.sql CREATE TABLE …

AcWing 98. 分形之城

题目链接:AcWing 98. 分形之城 问题描述 分析 这一道题看起来很麻烦&#xff0c;其实就是比较麻烦。 这是一道递归坐标变换的问题&#xff0c;坐标变换比较难想&#xff0c;建议自己动手画一画容易明白一些。 首先是城市等级 n n n 与总点数的关系&#xff0c;不难发现总点数…

golang Redis的新数据类型github.com/go-redis/redis/v8实践

Redis的新数据类型# 在redis中&#xff0c;后面添加了几个比较高级的数据类型 hyperloglog基数统计、GEO存储地理位置、bitmap位图、stream为消息队列设计的数据类型 这 4 种数据类型。 HyperLogLog类型# HyperLogLog简介# HyperLogLog 是一种用于数据统计的集合类型&#x…