【Redis】数据类型

news/2024/11/15 6:14:21/

Redis5__3__1_3">Redis数据类型(5 + 3 + 1)

在这里插入图片描述

五种基本数据类型

String字符串
特点
  • 二进制安全,可以包含任何数据,如数字,字符串,jpg图片或者序列化的对象
应用场景
  • 缓存: redis作为缓存层,mysql做持久化层,降低mysql的读写压力

  • 计数器:redis是单线程模型,一个命令执行完才会执行下一个,同时数据可以一步落地到其他的数据源

  • session:常见方案spring session + redis实现session共享

List列表
特点
  • 底层实现为双端链表
应用场景
  • 时间轴

  • 消息队列

Hash哈希
特点
  • 存储k-v,适合存储关系型数据库的一条记录(一个对象)
应用场景
  • 缓存: 更直观,相比string更节省空间的维护缓存信息,如用户信息,视频信息等
Set集合
特点
  • 不能出现重复的数据

  • 添加,删除,查找的复杂度都是 O(1)

应用场景
  • 标签:给用户添加标签,或者用户给消息添加标签,有同一标签或者类似标签的可以给推荐关注的事或者关注的人
  • 点赞,或点踩,收藏等,可以放到set中实现
ZSet有序集合
特点
  • 每个元素都会关联一个 double 类型的分数。redis 通过分数来为集合中的成员进行从小到大的排序
应用场景
  • 排行榜:有序集合经典使用场景。例如小说视频等网站需要对用户上传的小说视频做排行榜,榜单可以按照用户关注数,更新时间,字数等打分,做排行。
  • 其他排名

三种特殊数据类型

HyperLogLogs基数统计
特点
  • 节省空间
  • 有一定误差(0.81% 标准错误的近似值)
应用场景
  • 统计各种计数,比如注册 IP 数、每日访问 IP 数、页面实时UV、在线用户数,共同好友数等
BitMaps位图
特点
  • 操作二进制位来进行记录,只有 0 和 1 两个状态
  • 节省空间
应用场景
  • 统计用户信息,活跃,不活跃! 登录,未登录! 打卡,不打卡! 两个状态的,都可以使用 Bitmaps
geospatial地理位置
特点
  • 两极无法直接添加
  • 有效的经度从-180度到180度
  • 有效的纬度从-85.05112878度到85.05112878度
应用场景
  • 附近的人
  • 两地之间的距离

Stream

特点
  • 可持久化、分组消费
  • 客户端可以平滑扩展,提高处理能力
应用场景
  • 消息队列

http://www.ppmy.cn/news/1461970.html

相关文章

Azure IoT Hub是啥

1.概要说明 Azure IoT Hub是微软在物联网(IoT)领域提供的一款重要产品,为设备连接和管理提供了专业的解决方案。以下是关于Azure IoT Hub的详细介绍: 定义:Azure IoT Hub是一个专为连接和管理数百万台物联网设备而设计…

PingCAP 黄东旭参与 CCF 秀湖会议,共探开源教育未来

日前,第十二期 CCF 秀湖会议在苏州 CCF 业务总部 & 学术交流中心成功举办。本次会议以“开源教育:使命、挑战与发展”为主题,汇聚了来自学术界、工业界的二十余位专家,共同探讨开源教育的现状与未来。 PingCAP 联合创始人兼 C…

java 文件表创建及前后端使用

表结构task_file 前端具体到业务表单 <el-form-item label"任务附件" prop"taskAttachment"><el-upload ref"upload" accept".jpg, .png, .txt, .xlsx, .doc, .docx, .xls, .pdf, .zip, .rar":action"upload.url" …

卷积神经网络(Convolutional Neural Networks, CNN)的理解

卷积神经网络&#xff08;Convolutional Neural Networks, CNN&#xff09;是一种特别设计用于处理具有网格结构数据&#xff08;如图像、音频波形&#xff09;的神经网络。它在图像识别、视频分析、自然语言处理等领域有着广泛的应用。 通俗理解卷积神经网络 想象一下&#…

UnitTest / pytest 框架

文章目录 一、UnitTest框架1. TestCase使用2. TestSuite 和 TestRunner3. TestLoader4. Fixture装置5. UnitTest断言1. 登录案例 6. 参数化1. parameterized插件 7. unitTest 跳过 二、pytest 框架1. 运行方式3.读取配置文件(常用方式) 2. pytest执行用例的顺序1. 分组执行(冒烟…

统计学中的新进展与研究领域

统计学领域一直处于不断发展和演变之中&#xff0c;涌现出许多新的研究方向和方法。以下是一些统计学领域的最新研究进展和热点&#xff1a; 1. **贝叶斯统计&#xff1a;** 贝叶斯统计作为一种概率推断的方法&#xff0c;在近年来受到越来越多的关注。随着计算技术的不断进步…

minio使用nginx代理

minio是一个本地存储&#xff0c;使用nginx代理后链接签名不可用&#xff0c;具体报错如下&#xff1a; The request signature we calculated does not match the signature you provided. response{code403, headersServer: nginx/1.23.3 参考官方文档&#xff0c;修改如下…

Java面向对象——内部类

内部类就是在一个类的内部再定义一个类&#xff0c;比如&#xff1a;A类中定义一个B类&#xff0c;那么B类相对A类来说就称为内部类&#xff0c;而A类相对B类来说就是外部类了。 1. 成员内部类 代码演示&#xff1a; public class Outer {private int id 10;public void out…