0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Redis的数据类型有哪些

麦辣鸡腿堡 来源:程序员库森 作者:程序员库森 2023-10-09 10:51 次阅读

Redis的数据类型有哪些?有五种常用数据类型:String、Hash、Set、List、SortedSet。以及三种特殊的数据类型:Bitmap、HyperLogLog、Geospatial ,其中HyperLogLog、Bitmap的底层都是 String 数据类型,Geospatial 的底层是 Sorted Set 数据类型。

五种常用的数据类型:

1、String:String是最常用的一种数据类型,普通的key- value 存储都可以归为此类。其中Value既可以是数字也可以是字符串。使用场景:常规key-value缓存应用。常规计数: 微博数, 粉丝数。

2、Hash:Hash 是一个键值(key =》 value)对集合。Redishash 是一个 string 类型的 field 和 value 的映射表,hash 特别适合用于存储对象,并且可以像数据库中update一个属性一样只修改某一项属性值。

3、Set:Set是一个无序的天然去重的集合,即Key-Set。此外还提供了交集、并集等一系列直接操作集合的方法,对于求共同好友、共同关注什么的功能实现特别方便。

4、List:List是一个有序可重复的集合,其遵循FIFO的原则,底层是依赖双向链表实现的,因此支持正向、反向双重查找。通过List,我们可以很方面的获得类似于最新回复这类的功能实现。

5、SortedSet:类似于java中的TreeSet,是Set的可排序版。此外还支持优先级排序,维护了一个score的参数来实现。适用于排行榜和带权重的消息队列等场景。

三种特殊的数据类型:

1、Bitmap:位图,Bitmap想象成一个以位为单位数组,数组中的每个单元只能存0或者1,数组的下标在Bitmap中叫做偏移量。使用Bitmap实现统计功能,更省空间。如果只需要统计数据的二值状态,例如商品有没有、用户在不在等,就可以使用 Bitmap,因为它只用一个 bit 位就能表示 0 或 1。

2、Hyperloglog。HyperLogLog 是一种用于统计基数的数据集合类型,HyperLogLog 的优点是,在输入元素的数量或者体积非常非常大

时,计算基数所需的空间总是固定 的、并且是很小的。每个 HyperLogLog 键只需要花费 12 KB 内存,就可以计算接近 2^64 个不同元素的基 数。

场景:统计网页的UV(即Unique Visitor,不重复访客,一个人访问某个网站多次,但是还是只计算为一次)。

要注意,HyperLogLog 的统计规则是基于概率完成的,所以它给出的统计结果是有一定误差的,标准误算率是 0.81%。

3、Geospatial :主要用于存储地理位置信息,并对存储的信息进行操作,适用场景如朋友的定位、附近的人、打车距离计算等。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 数据
    +关注

    关注

    8

    文章

    6885

    浏览量

    88818
  • 存储
    +关注

    关注

    13

    文章

    4261

    浏览量

    85661
  • Redis
    +关注

    关注

    0

    文章

    371

    浏览量

    10844
收藏 人收藏

    评论

    相关推荐

    Redis数据类型介绍

    Redis 作为一个内存数据库已经被许许多多的公司使用,它的性能非常的优秀,读写速度支持非常快而且支持 10W 的 QPS 。今天我们就来学习下它的丰富的数据类型Redis
    的头像 发表于 10-09 10:53 761次阅读
    <b class='flag-5'>Redis</b><b class='flag-5'>数据类型</b>介绍

    详解Redis的列表类型list

    Redis入门(四)Redis数据类型之列表类型list
    发表于 05-08 08:16

    CODESYS支持的数据类型哪些

    CODESYS支持的数据类型哪些?CODESYS关于的数据类型的相关规则是什么?
    发表于 09-30 09:01

    windows 常见数据类型哪些?

    二,Windows 数据类型命名规律 基本数据类型包括:BYTE、CHAR、WORD、SHORT、INT 等。 指针类型的命令方式一般是在其指向的数据类型前加“LP”或“P”,比如
    发表于 08-09 08:00 1次下载

    Python数据类型几种

    的实部 a 和虚部 b 都是浮点型。  2. 字符串  在Python中,加了引号的字符都被认为是字符串,其声明三种方式,分别是:单引号、双引号和三引号;Python中的字符串两种数据类型,分别
    发表于 02-18 17:59 1516次阅读

    Redis 五大数据类型使用场景哪些

    数据结构和算法。key都是由字符串构成的,那么这五种数据结构的使用场景哪些?一起来看看! 一 字符串 字符串类型Redis最基础的
    的头像 发表于 11-05 17:35 5427次阅读

    Redis基本数据类型哪些

    说说Redis基本数据类型哪些吧 字符串:redis没有直接使用C语言传统的字符串表示,而是自己实现的叫做简单动态字符串SDS的抽象类型
    的头像 发表于 11-02 11:46 2540次阅读

    结构数据类型(Struct)及应用案例

    Struct数据类型使用非常灵活,随时可以使用,但是相对于PLC数据类型 (UDT) 以下缺点,所以建议需要使用Struct类型时,可以使用PLC
    的头像 发表于 07-27 16:10 1744次阅读

    定义数据类型

    在运算之前我们必须首先定义出数据类型,定义出脚本支持的数据类型,这是运算的基础。 这一小节我们将定义出数据类型,在这里我们暂时定义四个数据类型:
    的头像 发表于 03-03 10:10 904次阅读

    PLC数据类型

    ) 或 64 位双精度数 (LReal) 表示。比如模拟量模块采集的温度 压力等 4 时间 日期数据类型 TIME 数据作为符号双整数存储,基本单位为毫秒。存储的数值是多少,就代表
    发表于 04-17 15:49 0次下载
    PLC<b class='flag-5'>数据类型</b>

    细说redis十种数据类型及底层原理

    string 是 Redis 最基本的数据类型,它可以存储任意类型数据,比如文本、数字、图片或者序列化的对象。一个 string 类型的键
    的头像 发表于 05-15 11:21 1838次阅读
    细说<b class='flag-5'>redis</b>十种<b class='flag-5'>数据类型</b>及底层原理

    Redis底层数据类型

    1. 前言 Redis的键值对中的常见数据类型String (字符串)、List(列表)、Hash(哈希)、Set(集合)、Zset(有序集合)。那么其对应的底层数据结构
    的头像 发表于 10-09 14:05 365次阅读
    <b class='flag-5'>Redis</b>底层<b class='flag-5'>数据类型</b>

    redis的五种数据类型

    Redis是一种高性能的内存数据库,常用于缓存、任务队列、分布式锁等场景。它提供了多种数据类型来满足各种不同的需求,包括字符串(string)、哈希(hash)、列表(list)、集合(set
    的头像 发表于 11-16 11:06 602次阅读

    redis的五种数据类型底层数据结构

    Redis是一种内存数据存储系统,支持多种数据结构。这些数据结构不仅可以满足常见的存储需求,还能够通过其底层数据结构提供高效的操作和查询。以
    的头像 发表于 11-16 11:18 680次阅读

    oracle的数据类型哪些

    Oracle数据库中有许多数据类型可供选择,每种数据类型都有其各自的特点和适用场景。下面是对Oracle数据库中最常用的数据类型的详尽说明,
    的头像 发表于 12-05 16:45 2287次阅读