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

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

RAG检索增强生成(1)-大语言模型的外挂数据库

Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks Lewis P, Perez E, Piktus A, et al. Retrieval-augmented generation for knowledge-intensive nlp tasks[J]. Advances in Neural Information Processing Systems, 2020, 33: 9459-9474. RAG结合了信息检…

数据结构复习

基本概念和术语: 数据:是描述客观事物的符号,是计算机中可以操作的对象,是能被计算机识别,并输入给计算机处理的符号集合。 数据元素:是组成数据的,具有一定意义的基本单位,在计算机…

bootstrap5-学习笔记1-容器+布局+按钮+工具

参考: Bootstrap5 教程 | 菜鸟教程 https://www.runoob.com/bootstrap5/bootstrap5-tutorial.html Spacing Bootstrap v5 中文文档 v5.3 | Bootstrap 中文网 https://v5.bootcss.com/docs/utilities/spacing/ 之前用bootstrap2和3比较多,最近用到了5&a…

flink Jobmanager metaspace oom 分析

文章目录 现象作业背景分析现象分析类卸载条件MAT 分析 解决办法flink 官方提示 现象 通过flink 页面提交程序,多次提交后,jobmanager 报metaspace oom 作业背景 用户代码是flink 代码Spring nacos 分析 现象分析 从现象来看肯定是因为有的类没有被…

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

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

充电桩产业链及商业模式

产业链概况 充电桩产业链分为上游元器件和设备生产商、建设商,中游为运营商,下游为各类充电场景。其中,上游零部件厂商提供充电模块(IGBT、逆变器等)、配电滤波设备、监控计费设备、充电枪等;中游充电桩厂…

P3. 创建个人中心页面

P3. 创建个人中心页面 0 概述Tips1 个人中心页面1.1 创建 Bot 表及 pojo, mapper1.2 实现 Bot 增删改查的 API1.3 实现个人中心页面前端 0 概述 主要介绍了一下添加一个表(类),及其CRUD的前端和后端的实现方式,介绍的是通用的方法。 后端的CRUD很好写&am…

推荐七款知名度非常高的数据防泄密软件

在数据防泄密软件领域,一些权威且知名度较高的解决方案提供商及其产品,凭借其强大的功能、可靠性以及广泛的市场认可度,成为众多企业保护敏感数据的首选。以下是一些代表性较高的数据防泄密软件。 1.安企神软件 安企神作为一款成熟的数据防泄…

如何减少Apache Spark日志的数量

修改log4j配置文件,没有就创建: 内容: # 设置日志记录器 log4j.rootCategoryWARN, console log4j.appender.consoleorg.apache.log4j.ConsoleAppender log4j.appender.console.targetSystem.err log4j.appender.console.layoutorg.apache.lo…

浅谈申请小程序地理位置权限的正确打开方式

小程序地理位置接口有什么功能? 这篇内容会教大家如何快速申请“获取当前的地理位置(onLocationChange)”接口,以便帮助大家顺利开通接口。以下内容是本人经历了多次的申请经历得出来的经验,来之不易,望大家…

C语言(联合和枚举)

Hi~!这里是奋斗的小羊,很荣幸您能阅读我的文章,诚请评论指点,欢迎欢迎 ~~ 💥个人主页:奋斗的小羊 💥所属专栏:C语言 🚀本系列文章为个人学习笔记,在这里撰写成…

Dvws靶场

文章目录 一、XXE外部实体注入二、No-SQL注入三、Insecure Direct Object Reference四、Mass Assignment五、Information Disclosure六、Command Injection七、SQL注入 一、XXE外部实体注入 访问http://192.168.92.6/dvwsuserservice?wsdl,发现一个SOAP服务。在SO…

Unity 实现让物体渲染在最前面

演示 实现方案 1.创建一个shader脚本 2.删掉原来的内容:我们自己写 附上完整的shader代码: Shader "Custom/ZTestAlways" {Properties {_Color ("Color Tint",Color) (1,1,1,1)_MainTex("Main Tex",2D) "white&q…

【Python报错】已解决ModuleNotFoundError: No module named ‘timm’

成功解决“ModuleNotFoundError: No module named ‘timm’”错误的全面指南 一、引言 在Python编程中,经常会遇到各种导入模块的错误,其中“ModuleNotFoundError: No module named ‘timm’”就是一个典型的例子。这个错误意味着你的Python环境中没有安…

使用Minikube+docker+harbor+k8s自动化部署 @by_TWJ

目录 1. 开始1.1. 环境1.2. 测试的git仓库1.3. 离线文件1.4. 安装docker1.5. 安装docker-compose(非必要)1.6. 安装Jenkins1.7. 安装harbor1.8. 允许docker通过http访问私有仓库1.9. 修改/etc/hosts,追加自定义域名1.10. 安装Minikube 2. min…

前端列表可滚动,可轮播

前端列表可滚动&#xff0c;可轮播 <ulclass"scroll-list"ref"scroll_List"mouseenter"cancelScroll()"mouseleave"autoScroll()"><liclass"list-item"v-for"(item,index) in tableData3":class"[…

eNSP学习——配置RIP的版本兼容、定时器和协议优先级

目录 主要命令 原理概述 实验内容 实验拓扑 实验目的 实验编址 实验步骤 1、基本配置 2、配置RIP协议的版本兼容 3、配置RIP的定时器 4&#xff0e;配置RIP协议优先级 需要eNSP各种配置命令的点击链接自取&#xff1a;华为&#xff45;NSP各种设备配置命令大全PDF版…

mysql中事务的简介

大家好。我们在日常开发过程中肯定都或多或少的用到过事务&#xff0c;而且在面试时&#xff0c;数据库的事务也是必问内容之一。今天我们就来说说mysql的事务。 为了方便我们下面内容的讲解&#xff0c;我们也先建立一个讲事务必用的表–account表&#xff0c;并在表中插入两…

CSS学习笔记之高级教程(五)

23、CSS 媒体查询 - 实例 /* 如果屏幕尺寸超过 600 像素&#xff0c;把 <div> 的字体大小设置为 80 像素 */ media screen and (min-width: 600px) {div.example {font-size: 80px;} }/* 如果屏幕大小为 600px 或更小&#xff0c;把 <div> 的字体大小设置为 30px …

Golang:使用Base64Captcha生成数字字母验证码实现安全校验

Base64Captcha可以在服务端生成验证码&#xff0c;以base64的格式返回 为了能看到生成的base64验证码图片&#xff0c;我们借助gin go get -u github.com/mojocn/base64Captcha go get -u github.com/gin-gonic/gin文档的示例看起来很复杂&#xff0c;下面&#xff0c;通过简…