Redis数据库(三):Redis数据库三种特殊数据类型

news2025/1/4 21:05:15

          除了上一篇博客讲的五种基本数据类型外,Redis还有三种特殊的数据类型,它们有着不同的应用场景,这一篇博客,我们来学习它。

目录

一、geospatial 地理空间

1.1 添加地理位置

1.2 返回给定名称的纬度和经度

1.3 返回两个给定位置之间的距离

1.4 以给定的纬度经度为中心,找到某一半径内的城市

1.5 以给定的成员搜索距离以内的城市

二、hyperloglog基数

三、bitmaps位图

3.1 向位图添加数据(打卡)

3.2 查看位图中某个位置的值(确定是否到)

3.3 统计位图中value等于1的个数(累计多少天)


一、geospatial 地理空间

       Redis 支持地理空间(Geospatial)数据类型,可以存储和操作地理位置相关的数据。这是通过内置的 GEO 命令集合来实现的,主要用于处理地理位置的存储、查询和计算。可以用来实现朋友的定位,附近的人,打车距离计算等。城市的经度纬度查询: http://www.jsons.cn/lngcode/。它的命令很简单,只有下面6个。

1.1 添加地理位置

添加地理位置,格式:geoadd key 纬度 经度 名称

1.2 返回给定名称的纬度和经度

返回给定名称的经度和纬度:geopos key 名称

1.3 返回两个给定位置之间的距离

查看两个城市之间的距离:geodist key 名称1 名称2   距离单位(例:km)

1.4 以给定的纬度经度为中心,找到某一半径内的城市

以给定的经纬度搜索在多少距离之内的城市 :georadius key 经度 纬度 距离 距离单位(例:km)

1.5 以给定的成员搜索距离以内的城市

以给定的成员搜索距离以内的城市:georadiusbymember key 名称 距离单位

二、hyperloglog基数

       Redis 中的 HyperLogLog 是一种概率性数据结构,用于快速估算一个集合中不同元素的数量,即基数(Cardinality)。它通过使用少量固定的内存来实现这一目标,通常为 12 KB,不管数据集合的大小如何,误差率可以控制在 0.81% 以内。

HyperLogLog 的应用场景

  1. 网站独立访客统计:计算一段时间内访问网站的独立用户数。
  2. 广告去重:统计广告的唯一展示次数,防止重复计数。
  3. 大数据分析:在数据分析中,估算大数据集合中的唯一值数量,如日志分析中的唯一 IP 数量。

三、bitmaps位图

       Bitmaps 是一种位数组数据结构,在 Redis 中通过字符串类型实现,允许对每一位进行操作。每个位可以存储 0 或 1,用于表示二进制状态, 所以只要是只有两种状态值的场景,都可以使用 bitmaps来存储。比如:登录、未登录;打卡,未打卡;活跃,不活跃等。

3.1 向位图添加数据(打卡)

在bitmaps中添加数据,格式: setbit key offset value

3.2 查看位图中某个位置的值(确定是否到)

查看位图中某个位置的值,格式: getbit key offset

3.3 统计位图中value等于1的个数(累计多少天)

统计位图中value等于1的个数,格式: bitcount key start end

 至此,Redis数据库第三节就介绍完毕,这一节内容作个简单了解,更多精彩内容见后期博客!感谢阅读,如果喜欢,点赞加关注!

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

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

相关文章

小柴冲刺嵌入式系统设计师系列总目录

工作两年 逐渐意识到基础知识的重要性✌️ 意识到掌握了这个证书好像就已经掌握了80%工作中用到的知识了。剩下的就在工作的实战中学习 来和小柴一起冲刺软考吧!加油😜 【小柴冲刺软考中级嵌入式系统设计师系列】总目录 前言 专栏目标:冲刺…

ros2_control 使用教程

系列文章目录 前言 0.1 欢迎阅读 ros2_control 文档! ros2_control 是一个使用(ROS 2)对机器人进行(实时)控制的框架。其软件包是对 ROS(机器人操作系统)中使用的 ros_control 软件包的重写。r…

NetSuite CSV导入类型与记录类型梳理

最近有用户问到我们的一个问题是,哪些数据可以使用CSV导入,哪些数据不能使用CSV导入,干脆咱们就整理出来可使用CSV导入功能的类型和记录类型,供大家直接参考~ 但是有一些内容或多或少由于每个企业的环境不一样而有所不…

jenkins环境搭建--关于jenkins在Ubuntu下的安装篇(一)

在ubuntu下使用命令进行下载安装包: 关于jenkins的安装有多种,可以借助docker容器进行安装,也可以通过传统方法手动一步步的进行安装,以下介绍手动一步步的安装方法,后续我们将解释关于jenkins的相关配置以及实战使用…

mongodb 查询语句学习笔记

基础查询 正则查询 {status: A,$or: [{ qty: { $lt: 30 } }, { item: { $regex: ^p } }] }AND 查询 { "size.h": { $lt: 15 }, "size.uom": "in", status: "D" }OR 查询 { $or: [ { status: "A" }, { qty: { $lt: 30 } …

万界星空科技自动化运维管理---设备管理

在信息化管理体系建设中,设备管理系统被看作是重中之重。因为设备是工厂生产中的主体、生命线,随着科学技术的不断发展、智能制造的产业升级,生产设备日益智能化、自动化,设备在现代工业生产中的作用和影响也随之增大,…

智能体——父亲兴趣爱好助手

🎼个人主页:【Y小夜】 😎作者简介:一位双非学校的大二学生,编程爱好者, 专注于基础和实战分享,欢迎私信咨询! 🎆入门专栏:🎇【MySQL&#xff0…

Sectigo或RapidSSL DV通配符SSL证书哪个性价比更高?

在当前的网络安全领域,选择一款合适的SSL证书对于保护网站和用户数据至关重要。Sectigo和RapidSSL作为市场上知名的SSL证书提供商,以其高性价比和快速的服务响应而受到市场的青睐。本文将对Sectigo和RapidSSL DV通配符证书进行深入对比,帮助用…

java设计模式(四)原型模式(Prototype Pattern)

1、模式介绍: 原型模式(Prototype Pattern)是一种创建型设计模式,它允许对象在创建新实例时通过复制现有实例而不是通过实例化新对象来完成。这样做可以避免耗费大量的资源和时间来初始化对象。原型模式涉及一个被复制的原型对象…

【机器学习】在【R语言】中的应用:结合【PostgreSQL数据库】的【金融行业信用评分模型】构建

目录 1.数据库和数据集的选择 1.准备工作 2.PostgreSQL安装与配置 3.R和RStudio安装与配置 2.数据导入和预处理 1.连接数据库并导入数据 1.连接数据库 2.数据检查和清洗 1.数据标准化 2.拆分训练集和测试集 3.特征工程 1.生成新特征 2.特征选择 4.模型训练和评估…

【浦语开源】深入探索:大模型全链路开源组件 InternLM Lagent,打造灵笔Demo实战指南

一、准备工作: 1、环境配置: pip、conda换源: pip临时换源: pip install -i https://mirrors.cernet.edu.cn/pypi/web/simple some-package# 这里的“https://mirrors.cernet.edu.cn/pypi/web/simple”是所换的源,…

2024广东省职业技能大赛云计算赛项实战——构建CICD

构建CI/CD 前言 题目如下: 构建CI/CD 编写流水线脚本.gitlab-ci.yml触发自动构建,具体要求如下: (1)基于镜像maven:3.6-jdk-8构建项目的drone分支; (2)构建镜像的名称&#xff1a…

【threejs】火焰特效制作

2024-06-26 08-57-16火焰 shader 来源 //shadertory:https://www.shadertoy.com/view/ctVGD1//shadertory:https://www.shadertoy.com/view/ml3GWs 代码 import { DoubleSide, ShaderChunk, ShaderMaterial } from "three";export default fu…

嵌入式EMC之TVS管

整理一些网上摘抄的笔记: TVS管认识: TVS的Vc要比,DCDC的最大承受电压要小

mysql workbench使用schema视图导出表和列结构到excel

目的:导出所有表和列的名字和注释 很多时候没有正规的数据库文档,为了快速交流啊,需要一个快捷的基础。数据库建表的时候可能有注释,也可能没有注释。有当然好,查看注释就能清楚很多,没有的话最好一个一个补…

高效文件分类管理:快速将不同类型文件素材归类到专属文件夹,告别混乱,让工作更高效!

在数字化时代,我们每天都会产生大量的文件素材,从图片、文档到音频、视频,种类繁多,数量庞大。如果这些文件没有得到有效的管理和归类,不仅会让我们的工作变得混乱无序,还会影响我们的工作效率。那么&#…

文华WH7主图多空预警系统指标公式源码

RSV:(CLOSE-LLV(LOW,9))/(HHV(HIGH,9)-LLV(LOW,9))*100;//收盘价与N周期最低值做差,N周期最高值与N周期最低值做差,两差之间做比值定义为RSV K:SMA(RSV,3,1);//RSV的移动平均 D:SMA(K,3,1);//K值的移动平均 DIFF : EMA(CLOSE,12) - EMA(CLOSE,26); D…

python-17-零基础自学python-

学习内容:《python编程:从入门到实践》第二版 知识点: 类、子类、继承、调用函数 练习内容: 练习9-6:冰激凌小店 冰激凌小店是一种特殊的餐馆。编写一个名为IceCreamStand的类,让它继承为完成练习9-1或…

spring原理篇

第三方bean默认为方法名 自动配置 自动配置的原理 springboot的自动配置原理 首先是从 SpringBootApplication这个注解出发 有一个ComponentScan()默认扫描同级包及其子包 第二个注解是springbootconfiguration 声明当前类是一个配置类 第三个是核心 enableAutoConfigurati…

HRSC2016 :推动光学遥感图像细粒度船舶检测的创新引擎(目标检测)

亲爱的读者们,您是否在寻找某个特定的数据集,用于研究或项目实践?欢迎您在评论区留言,或者通过公众号私信告诉我,您想要的数据集的类型主题。小编会竭尽全力为您寻找,并在找到后第一时间与您分享。 摘要&a…