Redis:Redis的数据类型介绍

Redis 支持多种数据类型,每种数据类型都有其特定的用途和优势。以下是 Redis 中主要数据类型的介绍:

1. String(字符串)

介绍:最基本的 Redis 数据类型,通常用于缓存和存储经常需要读取的数据。

示例

设置键值对  
SET key "value"  
  
获取值  
GET key  
  
递增整数值  
INCR counter

常用命令
在这里插入图片描述

2. List(列表)

介绍:一个链表结构,可以在列表的头部或尾部添加/删除元素。

示例

在列表左侧插入元素  
LPUSH mylist "one"  
  
在列表右侧插入元素  
RPUSH mylist "two"  
  
获取列表中的元素  
LRANGE mylist 0 -1  

常用命令
在这里插入图片描述

3. Hash(哈希)

介绍:一个键值对的集合,其中每个键都是唯一的字符串,而每个值可以是字符串、列表、集合等类型。

示例

设置哈希中的字段  
HSET myhash field1 "Hello"  
  
获取哈希中的字段值  
HGET myhash field1  
  
获取哈希中所有的字段和值  
HGETALL myhash

常用命令
在这里插入图片描述

4. Set(集合)

介绍:一个无序的字符串集合,成员是唯一的,不重复。

示例

添加元素到集合  
SADD myset "member1"  
  
检查元素是否在集合中  
SISMEMBER myset "member1"  
  
获取集合中的所有元素  
SMEMBERS myset

常用命令
在这里插入图片描述

5. Sorted Set(有序集合)

介绍:与集合类似,但每个元素都会关联一个分数(或称为“score”),用于排序。

示例

 添加元素到有序集合,并指定分数  
ZADD mysortedset 1 "one"  
ZADD mysortedset 2 "two"  
  
获取有序集合中的所有元素(按分数排序)  
ZRANGE mysortedset 0 -1 WITHSCORES  
  
 获取分数在指定范围内的元素  
ZRANGEBYSCORE mysortedset 1 2 WITHSCORES

常用命令

在这里插入图片描述

6. HyperLogLogs(基数统计)

介绍:用于估算集合中不同元素的数量,但不需要存储这些元素本身。它使用概率算法来估算,因此结果可能不是完全准确的,但内存使用非常少。

示例

添加元素到 HyperLogLog  
PFADD hll_key "element1" "element2" ...  
  
估算 HyperLogLog 中的基数  
PFCOUNT hll_key

常用命令
在这里插入图片描述

7. Bitmap(位图)

介绍:Bitmap(位图)并不是直接提供的一个命令或数据结构,但 Redis 的字符串(string)类型可以用来实现位图(Bitmaps)的功能。位图是一个用于表示一组二进制位的数据结构,常用于高效地进行位运算,如统计用户签到、统计独立用户数等场景。

Redis 中,你可以使用 SETBITGETBITBITCOUNT 等命令来操作位图。

SETBIT key offset value 命令用于对 key 所储存的字符串值,设置或清除指定偏移量上的位(bit)GETBIT key offset 命令用于对 key 所储存的字符串值,获取指定偏移量上的位(bit)BITCOUNT key [start] [end] 命令用于计算给定字符串中,被设置为 1 的比特位的数量。
设置位图
SETBIT test 7 1  
SETBIT test 10 1  
SETBIT test 15 0  
SETBIT test 30 1



获取位图上的位
GETBIT test 7    结果输出: 1  
GETBIT test 10   结果输出: 1  
GETBIT test 15   结果输出: 0  
GETBIT test 30   结果输出: 1


计算位图中被设置为 1 的位数
BITCOUNT test       结果输出: 3
BITCOUNT test 0 10  结果输出: 2

8. Geospatial(地理空间)

介绍:Redis 支持存储地理位置信息,并可以基于位置信息进行查询(例如,查找附近的位置)。

示例

添加地理位置  
GEOADD Sicily 13.3615386 38.115556 "Palermo" 15.087269 37.502669 "Catania"  
  
获取两个位置之间的距离  
GEODIST Sicily Palermo Catania km  
  
获取位置范围内的所有其他位置  
GEORADIUS Sicily 15 37 100 km WITHDIST

9. Stream(流)

介绍:Redis Stream 是 Redis 5.0 引入的一种新数据结构,用于实现消息队列。它允许消费者按照消息的插入顺序读取消息,并支持持久化。

示例:

 添加消息到流  
XADD mystream * field1 value1 field2 value2  
  
 读取流中的消息  
XRANGE mystream

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

病理级Polymer酶标二抗IHC试剂盒上线!

免疫组织化学 Immunohistochemistry,lHC 是利用抗体与抗原特异性识别原理,对组织样本中的抗原进行定位/定性分析的实验技术。组织切片保留了样品的解剖学结构特征,从而可以高分辨率地显现蛋白在细胞,甚至细胞器中的定位。基于以上特性&…

开源Mamba-2性能狂飙8倍!多个Mamba超强进化体拿下顶会

MambaOut的热度刚过去没多久,Mamba-2就带着它狂飙8倍的性能炸场了。 Mamba-2的核心层是对Mamba的选择性SSM的改进,同等性能下,模型更小,消耗更低,速度更快。与Mamba不同,新一代的Mamba-2再战顶会&#xff…

JVM垃圾收集器和性能调优

目标: 1.JVM垃圾收集器有哪几种? 2.CMS垃圾收集器回收步骤。 一、JVM常见的垃圾回收器 为什么垃圾回收的时候需要STW? 标记垃圾的时候,如果不STW,可能用户线程就会不停的产生垃圾。 1.1 单线程收集 Serial和SerialOld使用单…

windows架设NTP时间服务器进行时间同步

一、windows架设NTP时间服务器 1.win11更改注册表 winR输入regedit 2.HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config,找到Config目录,双击Config目录下的AnnounceFlags,设为5。 3.HKEY_LOCAL_MACHINE\SYSTEM\Current…

鸿蒙全栈开发-一文读懂鸿蒙同模块不同模块下的UIAbility跳转详解

前言 根据第三方机构Counterpoint数据,截至2023年三季度末,HarmonyOS在中国智能手机操作系统的市场份额已经提升至13%。短短四年的时间,HarmonyOS就成长为仅次于安卓、苹果iOS的全球第三大操作系统。 因此,对于鸿蒙生态建设而言&a…

前端--导出

这边记录我们公司后端做的导出接口和前端是如何对接的 这边的技术栈是: 1: react 2: fetch 第一步:简单封装--导出界面 import { DrawerForm } from ant-design/pro-components; import { CloseOutlined } f…

不会制作企业版电子书?学会这几个步骤就好啦!

公司安排你制作一本专业的电子书,不知道如何下手?别担心,今天LookLook同学就来给大家分享一下如何轻松制作企业版电子书。参考这几个步骤,相信你一定能轻松搞定! 第一步:明确电子书的目标和受众 在开始制作…

【ai】DeepStream 简介

NVIDIA Metropolis 平台。 NVIDIA 大都会 利用视觉 AI 将来自数万亿物联网设备的数据转化为有价值的见解。 NVIDIA Metropolis 是一个应用程序框架、一套开发工具和合作伙伴生态系统,它将视觉数据和 AI 结合在一起,以提高各行各业的运营效率和安全性。它有助于理解数万亿个…

漏洞挖掘 | 验证码绕过

还是老规矩,开局一个登录框,中途漏洞全靠舔,先来研究一下这个登录窗口 很好,发现有验证码登录,先测试测试能不能并发 看来没有,只成功发送了两条,再看看验证码是不是4位 很好,是4位。…

山东大学软件学院项目实训-创新实训-基于大模型的旅游平台(二十八)- 微服务(8)

目录 11.4 SpringAMQP 11.4.2 Work Queue工作队列 11.4.3 发布订阅模型 11.4.4 FanoutExchange(广播交换机) 11.4.5 DirectExchange(路由模式交换机) 11.4.6 TopicExchange 11.5 消息转换器 11.4 SpringAMQP 父工程引入AMQP依赖 <!--AMQP依赖&#xff0c;包含RabbitMQ…

什么无线领夹麦克风音质最好?领夹麦克风品牌排行榜前十名推荐

​在当今的数字化浪潮中&#xff0c;个人声音的传播和记录变得尤为重要。无论是会议中心、教室讲台还是户外探险&#xff0c;无线领夹麦克风以其卓越的便携性和连接稳定性&#xff0c;成为了人们沟通和表达的首选工具。面对市场上琳琅满目的无线麦克风选择&#xff0c;为了帮助…

中国出海企业“奔赴”俄罗斯蓝海 有哪些认知需要对齐? | TopOn变现干货

中国企业加速出海已成常态化。在出海大潮席卷下&#xff0c;中国企业的身影已遍布欧美、东南亚、拉美、中东等多个成熟市场和潜力市场&#xff0c;眼下&#xff0c;这些热门市场几成红海&#xff0c;准入门槛也相对提高。而俄罗斯市场&#xff0c;作为全球TOP10的经济体之一&am…

在Linux上的Java项目导出PDF乱码问题

在Linux上的Java项目导出PDF乱码问题 场景&#xff1a;一个Java项目导出PDF&#xff0c;在我本地导出是没有问题&#xff0c;但是部署上Linux上后&#xff0c;导出就出现了乱码了。 处理方案 我这里使用的处理方案是在Linux服务器上安装一些PDF需要使用的字体 1.把字体上传到…

找寻卓越的生成式人工智能应用案例?别浪费在无趣之处!

“ 生成式AI&#xff08;AI&#xff09;技术的强大众所周知。但不知道你们是否和我有一样感觉&#xff0c;目前市面上&#xff0c;企业对生成式AI的应用&#xff0c;场景大多较为单一。” Ingo Mierswa Altair产品开发高级副总裁 我说这些生成式AI的应用单一&#xff0c;是指…

upload-labs-第五关

目录 第五关 1、构造.user.ini文件 2、构造一个一句话木马文件&#xff0c;后缀名为jpg 3、上传.user.ini文件后上传flag.jpg 4、上传成功后访问上传路径 第五关 原理&#xff1a; 这一关采用黑名单的方式进行过滤&#xff0c;不允许上传php、php3、.htaccess等这几类文件…

区块链(Blockchain)调查研究

文章目录 1. 区块链是什么&#xff1f;2. 区块链分类和特点3. 区块链核心关键技术3.1 共识机制3.2 密码学技术3.4 分布式存储3.5 智能合约 4. 区块链未来发展趋势5. 区块链 Java 实现小案例 1. 区块链是什么&#xff1f; 区块链是分布式数据存储、点对点传输、共识机制、加密算…

在自己的esp idf工程中添加ESP-ADF

其实esp-adf也就相当于是一个组件&#xff0c;直接在工程的CMakeList.txt中加入就行&#xff0c;这样就可以满足自己的需要&#xff0c;直接在当前工程上增加adf&#xff0c;使用其中的部分功能。 参考adf基础工程可以发现&#xff0c;一条命令即可。 include($ENV{ADF_PATH}/…

【ocean】测试phaseDeg,phaseDegUnwrapped和phaseMargin

对二级运放进行测试 -101.35,78.01,78.01 GBW gainBwProd((VF("/Vout2") / VF("/Vin")))PHASE phaseDegUnwrapped((VF("/Vout2") / VF("/Vin")))plot( PHASE ?expr ( "PHASE" ) ) PHASEdeg phaseDeg((VF("/Vout2&q…

SQL语句练习每日5题(二)

题目1——查找学校是北大的学生信息 筛选出所有北京大学的学生进行用户调研&#xff0c;请你从用户信息表中取出满足条件的数据&#xff0c;结果返回设备id和学校。 解法&#xff1a;考察where条件语句 select device_id,university from user_profile where university北京…

如何做谷歌seo排名优化?Google SEO优化步骤你更快获得谷歌排名

谷歌SEO优化&#xff08;搜索引擎优化&#xff09;是一系列策略和技巧&#xff0c;旨在提高网站在谷歌搜索结果中的排名&#xff0c;从而增加有机流量。以下是一些关键的谷歌SEO优化步骤&#xff1a; 1. 关键词研究 选择合适的关键词&#xff1a;使用工具如Google Keyword Pl…