Redis 三大特殊数据类型常见命令

news2024/11/24 17:41:42

Geospatial

朋友的定位,附近的人,打车距离计算

底层是 Zset即可以使用Zset的命令操作Geospatial

Redis3.2 开始支持的

1.添加地理位置

  • 两极无法添加
  • 经度:-180 ~ 180(度)
  • 纬度:-85.05112878 ~ 85.05112878(度)

geoadd key 经度 纬度 名称

2.获取指定位置的地理位置

geopos key 名称

3.返回两个给定位置之间的距离(直线距离)

  • 单位:
    • m :米
    • km :千米
    • mi : 英里
    • ft :英尺

geodist key

4.以给定值为半径,以经度和维度为中心,查找

  • 附近的人(获得所有附近的人的地址(开启定位))通过半径查询

georadius key 经度 纬度 半径 单位

5.以给定值为半径,以成员(城市名)为中心,查找

georadiusbymember key 成员名 半径 单位

6.返回一个或多个位置元素的geohash表示

  • 如果两个字符串越相似,表示两个地方越近

geohash key 成员1 成员2

Hyperloglog

基数统计的算法;

类似 Set 作用,但可以节省大量内存!!

  • 优点
    • 占用内存是固定的2的64次方 个不同的元素的基数,只需要 12KB 的内存。(大数据情况下,有0.81%错误率)

基数:集合中元素的个数(先去重),如{1,2,2,3} 其基数为3(集合去重后为1,2,3 有3个元素)

网页的UV(一个人访问访问一个网站多次,但是还是算作一个人)

传统实现UV:Set保存用户的Id,然后统计 set 中的元素的数量作为标准判断(这种需要保存大量用户的ID,需要大量的内存占用)

Redis2.8.9 开始支持

1.测试

创建一组元素 : pfadd key ele1 ele2 ele3 …

统计对应key的基数:pfcount key1 [key2 …] // 多个key 就是统计这些key并集的基数

合并:pfmerge destkey sourceKey1 sourceKey2 [sourceKey3 …]

Bitmaps

位存储,位图(操作二进制)

统计用户信息,活跃,不活跃!登录、未登录!打卡,365打卡!(只有两个状态的属性都可以使用!!)

1.案例:一周打卡记录

一周过去

setbit key offset bit

查看单天打卡情况

getbit key offset

统计所有打卡的天数

bitcount key

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

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

相关文章

一、RestTemplate的使用

目录 1、新建项目springcloud(File--->New--->Project) 使用maven quickstart快速新建Maven项目 输入项目名称和Maven信息 确认Maven目录、配置文件、本地仓库,Finish即可 2、创建聚合项目springcloud-member、springcloud-order(项…

【人力资源管理】第2集 免费开源ERP: Odoo 16 Recruitment招聘管理 构建一体化企业人力资源管理

文章目录 前言一、概览二、主要功能1.组织空缺职位和职位申请2.追踪工作机会(查看哪个渠道收到的申请最多)3.定制您的招聘流程4.集成文档(定义您自己的文件管理流程)5.与Odoo应用程序完全集成 总结 前言 轻松处理您的招聘流程。 …

C++ 中到底是应该include .h文件还是应该include .cpp文件

在阅读一个较大的解决方案中,对于其他文件夹下的.h和.cpp文件,有时候#include“XXX.h”文件,有时候是#include“XXX.cpp”文件,而且二者还不能更换。下面就好好分析一下他们二者的区别。 测试 测试:XXX.h和XXX.cpp…

连接器:一种可靠耐用、节约成本的同为科技(TOWE)工业连接器

随着我国经济建设水平的飞速发展,工业连接器被广泛应用于工业、化工、机场、船舶、码头、建筑、铁路、医疗、会展、商业演出等领域。工业连接器的作用是用于连接一个电路导体与另一个电路导体、或一个传输元件与另一个传输元件的装置,并且为两个电路子系…

知识变现海哥:六种常见的知识变现渠道

什么是知识变现?就是用你所会的知识技能,在网上进行展示,吸引人们为其付钱。互联网发展到今天,我们可以看到它各方面已经逐渐完善了,但曾经在互联网上的不花钱的知识,在今天却要为其花费金钱。在此基础上&a…

CCSA TC1演讲分享 | 全域智能,构建平台化生态

日前,中国通信标准化协会(CCSA)成功召开互联网与应用技术工作委员会(TC1)第四十次全会,全会期间,TC1 WG7 IT内控与审计技术标准工作组举办了第3次工作组会议。此次会议重点讨论了各项标准文稿及…

微服架构基础设施环境平台搭建 -(四)在Kubernetes集群基础上搭建Kubesphere平台

微服架构基础设施环境平台搭建 -(四)在Kubernetes集群基础上搭建Kubesphere平台 通过采用微服相关架构构建一套以KubernetesDocker为自动化运维基础平台,以微服务为服务中心,在此基础之上构建业务中台,并通过Jekins自动…

Docker安装及容器安装

Docker安装及容器安装 一、Docker简单介绍 1、Docker是什么 Docker是基于Go语言实现的云开源项目。 Docker是一个开源的应用容器引擎,是容器技术的一种,采用Go编程语言编写。虽然 Docker把容器技术推向了巅峰,但其实,还有其他容…

蓝牙智能升降桌解决方案介绍

传统桌子在办公和学习中具有很大的普及度,但是长时间久坐却会对人体造成可怕的危害。由于不合理的坐姿、长时间久坐等习惯,不仅影响血液循环,让人体感到不适,还会出现视力、颈椎、腰椎、心脏等一系列健康问题。此外,传统桌子通常是固定高度且…

【C++进阶2--多态】面向对象三大特性之一,多种形态像魔法?

今天,带来C多态的讲解。 多态和继承并用,能产生“魔法般的效果”。 *文中不足错漏之处望请斧正! 见见多态 是什么 使得父类指针或引用有多种形态。 怎么使它有多种形态呢?咱们先见见猪跑。 见见猪跑 class Base { public:v…

第05章_排序与分页

第05章_排序与分页 1. 排序数据 1.1 排序规则 使用 ORDER BY 子句排序 ASC(ascend): 升序DESC(descend):降序 ORDER BY 子句在SELECT语句的结尾。 1.2 单列排序 SELECT last_name, job_id, department_id, hire_date FROM …

Java基础学习(15)

Java基础学习 一、IO流进阶1.1 缓冲流1.1.1字节缓冲流1.1.2 字符缓冲流 1.2 转换流1.3 序列流1.4 反序列化流 /对象操作输入流1.4.1 序列化流/反序列化流的细节汇总 1.5 打印流1.5.1 字节打印流1.5.2 字符打印流 1.6 解压流、压缩流1.7 Commons-io1.8 hutool工具包 一、IO流进阶…

【C#】RemoveAt索引越界问题

系列文章 【C#】单号生成器(编号规则、固定字符、流水号、产生业务单号) 本文链接:https://blog.csdn.net/youcheng_ge/article/details/129129787 【C#】日期范围生成器(开始日期、结束日期) 本文链接:h…

使用FFMPEG和SDL2实现音视频同步的简易视频播放器

程序框架 由于之前都是针对FFMPEG某一个功能做的测试和学习。这里我简单做了一个视频播放器,并简单做了音视频同步。在此记录大致过程。 大致框架如下: 主线程 1.加载视频文件,查找音视频流信息 2.初始化音视频解码器 3.初始化SDL并设置…

题解校验码—CRC循环校验码与海明校验码

码距 一个编码系统的码距是任意两个码字的最小距离。 例如个编码系统采用三位长度的二进制编码,若该系统有四种编码分别为:000,011,100,111,此编码系统中000与111的码距为3;011与000的码距为2…

POE:性价比最高的 AI 整合网站

创作不易,如果本文对你有帮助,胖友记得一键三连 😭。更多 AI 优质内容推荐请关注主页 “AI” 专栏,笔者会不定期更新觉得自己用下来还不错的 AI 相关产品。 1.介绍 Poe 是一款同时整合了 ChatGPT、Sage、GPT-4、Claude、Claude-in…

经典神经网络(2)AlexNet及其在Fashion-MNIST数据集上的应用

2、深度卷积神经网络AlexNet ImageNet 数据集:一个开源的图片数据集,包含超过 1400万张图片和图片对应的标签,包含2万多个类别。 自从2010 年以来,ImageNet 每年举办一次比赛,即:ImageNet 大规模视觉识别挑…

数组排序算法

数组排序算法 一、冒泡排序算法二、直接选择排序三、插入排序四、反转排序 一、冒泡排序算法 冒泡排序算法: 类似气泡上涌的动作,会将数据在数组中从小到大或者从大到小不断向前移动。 基本思想: 冒泡排序的基本思想是对比相邻的两个元素值&…

并发编程(二) — 内存可见性问题

目录 前言 内存可见性问题 synchronized volatile CAS算法 CAS算法原理 CAS算法应用场景 CAS算法代码实现 参考目录 前言 在谈共享变量的内存可见性问题之前,先谈谈线程安全问题 ,线程安全问题是指当多个线程同时读写一个共享资源并且没有任何同…

c高级day4作业

有m1.txt m2.txt m3.txt m4.txt,分别创建出对应的目录,m1 m2 m3 m4 并把文件移动到对应的目录下使用break关键字打印九九乘法表,提示:printf "%d * %d %d" $i $j $((i*j)) #!/bin/bash for i in m1 m2 m3 m4 do#文件夹…