Redis入门 - 3种特殊数据类型

这篇具有很好参考价值的文章主要介绍了Redis入门 - 3种特殊数据类型。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

原文首更地址,阅读效果更佳!

Redis入门 - 3种特殊数据类型 | CoderMast编程桅杆https://www.codermast.com/database/redis/three-special-datatype.html

在我们平常的业务中基本只会使用到Redis的基本数据类型(String、List、Hash、Set、Sorted Set),特殊类型(Geo、Bitmap、Hyperloglog)类型只有在特殊的业务场景下会使用到,通常只需要掌握基本数据类型即可,特殊类型作为了解即可。

#GEO类型

GEO,Geographic,地理信息的缩写。该类型,就是元素的2维坐标,在地图上就是经纬度。redis基于该类型,提供了经纬度设置,查询,范围查询,距离查询,经纬度Hash等常⻅操作。

  • geoadd:添加地理位置的坐标。
  • geopos:获取地理位置的坐标。
  • geodist:计算两个位置之间的距离。
  • georadius:根据⽤户给定的经纬度坐标来获取指定范围内的地理位置集合。
  • georadiusbymember:根据储存在位置集合⾥⾯的某个地点获取指定范围内的地理位置集合。
  • geohash:返回⼀个或多个位置对象的 geohash 值。
命令 描述
GEOHASH key member [member ...] 返回⼀个或多个位置元素的 Geohash 表示
GEOPOS key member [member ...] 从key⾥返回所有给定位置元素的位置(经度和纬度)
GEODIST key member1 member2 [m|km|ft|mi] 返回两个给定位置之间的距离
GEORADIUS key longitude latitude radius m|km|ft|mi [WITHCOORD] [WITHDIST] [WITHHASH] [COUNT count] [ASC|DESC] [STORE key] [STOREDIST key] 以给定的经纬度为中⼼, 找出某⼀半径内的元素
GEOADD key longitude latitude member [longitude latitude member ...] 将指定的地理空间位置(纬度、经度、名称)添加到指定的key中
GEORADIUSBYMEMBER key member radius m|km|ft|mi [WITHCOORD] [WITHDIST] [WITHHASH] [COUNT count] [ASC|DESC] [STORE key] [STOREDIST key] 找出位于指定范围内的 元素,中⼼点是由给定的位置元素决定

#Bitmap类型

从本质上来说,bitmap不是⼀种数据类型,本质是字符串key-value,但是其可以对位进⾏操作。也可以将bitmap想象成⼀个只能存储0、1的整型数组,可以随时对任意⼀位进⾏运算。下标在bitmap中成为偏移量。

命令 描述
setbit 设置Bitmaps中某个偏移量的值(0或1)(offset:偏移量从0开始)
getbit 获取Bitmaps中某个偏移量的值(偏移量不存在,也是返回0)
bitcount[start end] 统计字符串被设置为1的bit数。
bitop and(or/not/xor) [key…] bitop是⼀个复合操作, 它可以做多个Bitmaps的and(交集) 、 or(并集) 、 not(⾮) 、 xor(异或) 操作并将结果保存在destkey中。

#Hyperloglog类型

Redis HyperLogLog 是⽤来做基数统计的算法,HyperLogLog 的优点是,在输⼊元素的数量或者体积⾮常⾮常⼤时,计算基数所需的空间总是固定 的、并且是很⼩的。

在 Redis ⾥⾯,每个 HyperLogLog 键只需要花费 12 KB 内存,就可以计算接近 2^64 个不同元素的基 数。这和计算基数时,元素越多耗费内存就越多的集合形成鲜明对⽐。

但是,因为 HyperLogLog 只会根据输⼊元素来计算基数,⽽不会储存输⼊元素本身,所以HyperLogLog 不能像集合那样,返回输⼊的各个元素。文章来源地址https://www.toymoban.com/news/detail-488812.html

命令 描述
pfadd <element> [element ...] 将所有元素添加到指定HyperLogLog数据结构中。如果执⾏命令后HLL估计的近似基数发⽣变化,则返回1,否则返回0。
pfcount [key ...] 计算HLL的近似基数,可以计算多个HLL,⽐如⽤HLL存储每天的UV,计算⼀周的UV可以使⽤7天的UV合并计算即可
pfmerge [sourcekey ...] 将⼀个或多个HLL合并后的结果存储在另⼀个HLL中,⽐如每⽉活跃⽤户可以使⽤每天的活跃⽤户来合并计算可得

到了这里,关于Redis入门 - 3种特殊数据类型的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 详解redis的三种特殊数据类型

    14天学习训练营导师课程: 郑为中《Vue和SpringBoot打造假日旅社管理系统》 努力是为了不平庸~ 学习有些时候是枯燥的,但收获的快乐是加倍的,欢迎记录下你的那些努力时刻(学习知识点/题解/项目实操/遇到的bug/等等),在分享的同时加深对于知识点的理解,同时吸收他人

    2024年02月19日
    浏览(50)
  • 【Redis】特殊数据类型 Geo (地理位置)

    除了五中基本的数据类型外,Redis还支持两种特殊的数据类型,第一种 Geo (地理位置):用于存储地理位置相关的数据,例如经纬度、距离等。第二种 Stream (流):是一个高级的列表类型,支持对列表的批量操作,如添加多个元素、获取多个元素等。 Redis GEO(Geo Redis)是一个用

    2024年02月15日
    浏览(38)
  • Redis的3大特殊数据类型(1)-BitMap

    BitMap(位图/位数组) 是Redis2.2.0版本中引入的一种新数据类型,该数据类型本质是一个 仅含0和1 的二进制字符串。因此可以把 Bitmap 想象成一个 以位为单位的数组 ,数组的每个单元 只能存储 0 和 1 ,数组的下标在 Bitmap 中叫做偏移量 offset,bitmap默认值都为0. BitMap底层实际上使

    2024年02月11日
    浏览(46)
  • Redis入门 - 5种基本数据类型

    原文首更地址,阅读效果更佳! Redis入门 - 5种基本数据类型 | CoderMast编程桅杆 https://www.codermast.com/database/redis/five-base-datatype.html 说明 在我们平常的业务中基本只会使用到Redis的基本数据类型(String、List、Hash、Set、Sorted Set),特殊类型(Geo、Bitmap、Hyperloglog)类型只有在特殊

    2024年02月09日
    浏览(31)
  • Redis中3大特殊数据结构(2)-HyperLogLog

    HyperLogLog算法是法国人Philippe Flajolet 教授发明的一种 基数计数概率算法 ,每个 HyperLogLog 键只需要花费 12 KB 内存 ,就可以计算接近 2^64 个 不同元素 的基数。HyperLogLog 适用于 大数据量的去重统计 ,HyperLogLog 提供 不精确的去重计数方案 ,虽然不精确但是也不是非常不精确,

    2024年02月11日
    浏览(42)
  • 探索Redis特殊数据结构:Bitmaps(位图)在实际中的应用

    Redis官方提供了多种数据类型,除了常见的String、Hash、List、Set、zSet之外,还包括Stream、Geospatial、Bitmaps、Bitfields、Probabilistic(HyperLogLog、Bloom filter、Cuckoo filter、t-digest、Top-K、Count-min sketch、Configuration)和Time series。这些数据类型在Redis的数据结构中发挥着各自独特的作用。

    2024年01月19日
    浏览(44)
  • Mask RCNN 超详细图文入门(含代码+原文)

    代码地址:maskrcnn-benchmark(PyTorch) 我在入门学习计算机视觉的适合,看一些经典的论文原文比较吃力。于是通过看各种参考文献及查阅各路资料,入门的角度写了一些博客,希望能够和大家一起进步。 笔者在阅读《Mask R-CNN》原文后,根据自身理解及查阅资料,以入门角度尽可

    2024年02月07日
    浏览(59)
  • 探索Redis特殊数据结构:Geospatial(地理位置)在实际中的应用

    Redis官方提供了多种数据类型,除了常见的String、Hash、List、Set、zSet之外,还包括Stream、Geospatial、Bitmaps、Bitfields、Probabilistic(HyperLogLog、Bloom filter、Cuckoo filter、t-digest、Top-K、Count-min sketch、Configuration)和Time series。这些数据类型在Redis的数据结构中发挥着各自独特的作用。

    2024年02月20日
    浏览(45)
  • 特殊IP地址——环回地址

          环回地址(Loopback Address) 127.0.0.1---127.255.255.254  是一种特殊的 IP 地址,它允许计算机的软件组件在本地主机上进行网络通信,也称作本地回环地址。 在计算机网络中,环回地址是一个虚拟地址,它不属于任何网络,而是指向自己的计算机。因此,当你使用环回地址发

    2023年04月09日
    浏览(38)
  • Redis数据类型-Hash哈希存储类型

    小白:伟哥,java中的Map集合类型在Redis中有对应的存储吗? 伟哥:有的,我带你撸一波。 Redis的hash哈希存储类型,类似于是java中的map存储结构,适合用来存储对象,每个哈希最多可以存储4294967295(2^32-1)个字段值对,具体数量实际上也受Redis部署的虚拟机上的总内存的限制

    2024年02月12日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包