当前位置: 首页 > news >正文

redis类型介绍

154cdc71e8b44ec0a85e9573d89f41df.gif

 

1. 字符串(String):

 

    • 简介:最基础的数据类型,可以存储任何形式的字符串,包括文本数据和数字数据。

 

    • 常用操作:SET、GET、INCR、DECR等。

 

2. 列表(List):

 

    • 简介:有序的字符串列表,可以按照插入顺序向列表的头部或者尾部添加元素。

 

    • 常用操作:LPUSH(向列表左侧插入)、RPUSH(向列表右侧插入)、LPOP(从列表左侧弹出)、RPOP(从列表右侧弹出)、LRANGE(获取列表指定范围的元素)等。

 

    • 底层实现:通常使用双向链表或者压缩列表(ziplist)。

 

3. 集合(Set):

 

    • 简介:无序的字符串集合,集合中的元素是唯一的,不允许重复。

 

    • 常用操作:SADD(添加元素)、SREM(移除元素)、SMEMBERS(获取所有元素)、SISMEMBER(判断元素是否在集合中)等。

 

    • 底层实现:通常使用哈希表。

 

4. 有序集合(Sorted Set):

 

    • 简介:与集合类似,但是每个元素都会关联一个分数(score),元素会按照分数从小到大排序。

 

    • 常用操作:ZADD(添加元素及其分数)、ZREM(移除元素)、ZRANGE(按分数从小到大获取元素范围)、ZREVRANGE(按分数从大到小获取元素范围)、ZSCORE(获取元素的分数)等。

 

    • 底层实现:通常使用跳表(skiplist)和哈希表的组合。

 

5. 哈希(Hash):

 

    • 简介:键值对的集合,类似于一个小型的字典(或者 Java 中的HashMap)。哈希中的每个字段(field)都是一个键值对。

 

    • 常用操作:HSET(添加或更新字段)、HGET(获取字段的值)、HDEL(删除字段)、HGETALL(获取所有字段和值)等。

 

    • 底层实现:通常使用哈希表和压缩列表(ziplist,当字段较少时使用)。

 

6. 位图(Bitmaps):

 

    • 简介:不是一种独立的数据类型,而是基于字符串的一种位级别的操作。可以对字符串的每一位进行独立的设置(设置为 0 或 1)、获取和统计操作。

 

    • 常用操作:SETBIT(设置某一位的值)、GETBIT(获取某一位的值)、BITCOUNT(统计设置为 1 的位的数量)等。

 

7. HyperLogLog:

 

    • 简介:用于基数统计的算法,可以在非常小的空间内完成独立元素的数量统计(误差率约为 0.81%)。

 

    • 常用操作:PFADD(添加元素到 HyperLogLog)、PFCOUNT(获取 HyperLogLog 的基数估计值)、PFMERGE(合并多个 HyperLogLog)等。

 

8. 地理空间索引(Geospatial):

 

    • 简介:用于存储地理位置信息,支持地理位置的查询和计算,比如计算两个地理位置之间的距离、查找指定范围内的地理位置等。

 

    • 常用操作:GEOADD(添加地理位置)、GEOPOS(获取地理位置的经纬度)、GEODIST(计算两个地理位置之间的距离)、GEORADIUS(查找指定范围内的地理位置)等。

 

9. 流(Streams):

 

    • 简介:Redis 5.0 引入的数据类型,用于构建日志系统或消息队列系统。支持消息的持久化、消费者组、消息确认等特性。

 

    • 常用操作:XADD(添加消息到流)、XREAD(读取消息)、XGROUP(创建或管理消费者组)、XACK(确认消息已被处理)等。

 

http://www.lryc.cn/news/487148.html

相关文章:

  • kubernetes如何配置默认存储
  • 【微服务】Spring AI 使用详解
  • DataGrip 连接 dm
  • 数据库监控工具DBdoctor v3.2.4.3版本发布,新增对openGauss、Vastbase G100的支持!
  • Git 常用命令大全与详解
  • 执行flink sql连接clickhouse库
  • 什么是C++中的友元函数和友元类?
  • 基于Spring Boot+Vue的多媒体素材管理系统的设计与实现
  • Inpaint-Web:纯浏览器端实现的开源图像处理工具
  • 商业物联网详细指南:优势与挑战
  • 如何在项目中用elementui实现分页器功能
  • Nginx参数配置-笔记
  • 衡量神经网络表征相似度
  • Javascript高级:深度解析与多种实现方式数组扁平化
  • SpringBoot Data Redis连接Redis-Cluster集群
  • 计算机网络——TCP篇
  • 【网络安全面经】技术性问题3
  • 前后端交互之动态列
  • 递归(3)----力扣40组合数2,力扣473火柴拼正方形
  • 十一:HTTP 状态码详解:解读每一个响应背后的意义
  • 《译文》2024年11月数维杯国际大学生数学建模挑战赛题目
  • shell命令统计文件行数之和
  • 第02章 CentOS基本操作
  • 241113.学习日志——[CSDIY] [ByteDance] 后端训练营 [02]
  • 【HOT100第三天】和为K的子数组,最大子数组和,合并区间,轮转数组
  • 设计模式-Adapter(适配器模式)GO语言版本
  • SAM_Med2D 训练完成后boxes_prompt没有生成mask的问题
  • 游戏引擎学习第18天
  • Kotlin return与return@forEachIndexed
  • 基于Canny边缘检测和轮廓检测