【Redis】数据类型

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.hqwc.cn/news/705626.html

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

相关文章

如何去除字符串两侧的空白字符?

TRIM函数会去掉字符串左侧和右侧的空格,语法是:TRIM(字符串) excel中,TRIM函数能去掉字符串左侧和右侧的空格,它的ASCII码是32。 以下设定一个字符串组合,它的第一个字符中空格,最后一个字符是换行符 &q…

【算法】最短路问题 bfs 到 dijkstra

1976、到达目的地的方案数 你在一个城市里,城市由 n 个路口组成,路口编号为 0 到 n - 1 ,某些路口之间有 双向 道路。输入保证你可以从任意路口出发到达其他任意路口,且任意两个路口之间最多有一条路。 给你一个整数 n 和二维整…

一线互联网大数据面试题核心知识库(100万字)

本面试宝典涵盖大数据面试高频的所有技术栈,包括Liunx&Shell基础,Hadoop,Zookpeer,Flume,Kafka,Hive,Datax,Maxwell,DolphinScheduler,Spark Core&SQ…

问题-小技巧-Win11-如何把Win11鼠标右键界面变成Win10鼠标右键界面

如果Win10的鼠标右键操作不常用,那就按住shift后再按鼠标右键,就会使用Win10的鼠标右键界面。 如果想彻底改成Win10的操作做界面可以看—— 问题-小技巧-Win11-如何把Win11鼠标右键界面改成Win10鼠标右键界面 这个文章详细的讲解了,如果把…

《Python编程从入门到实践》day29

# 昨日知识点回顾 修改折线图文字和线条粗细 矫正图形 使用内置格式 # 今日知识点学习 15.2.4 使用scatter()绘制散点图并设置样式 import matplotlib.pyplot as plt import matplotlib matplotlib.use(TkAgg)plt.style.use(seaborn-v0_8) # 使用内置格式 fig, ax plt.subpl…

springsecurity项目快速搭建

自定义security的搭建 package com.sangeng.config;import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.annotation.CorsRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;Co…

scanf读取标准输入

内容 scanf函数的原理 多种数据类型混合输入 常用的数据输入/输出函数 程序员可以给程序输入数据,程序处理后会返回一个输出。C语言通过函数库读取标准输入,然后通过对应函数处理将结果打印到屏幕上,printf函数可以将结果打印到屏幕上。下…

19个测试⽤例⽣成的AI⼯具!卷起来!

在不断发展的软件开发领域中,确保应⽤程序的可靠性和功能性⾄关重要。 随着软件系统复杂性的增加,有效测试⽅法的需求也在上升。 传统的测试⽤例⽣成⽅法通常⽆法满⾜快速开发周期和复杂代码库的需求。 随着进⼊⼈⼯智能(AI)时…

数学:矩阵范数的定义、常见的矩阵范数

1 算子范数【从属范数】 1.1 1-算子范数【列和范数】 :即对A的每列的绝对值求和再求其中的最大值 1.2 ∞-算子范数【行和范数】即对 A 的每行的绝对值求和再求其中的最大值 1.3 2-算子范数【谱范数】 学过奇异值分解就知道谱范数是最大奇异值/ 二次型的最大特…

Vue3学习笔记 - 禹神YYDS

1. 教程介绍 https://www.bilibili.com/video/BV1Za4y1r7KE?p1 本篇vue3,内容比较新,比如有setup语法糖用法;只是他使用TS,并不是JS;不过JS也比较熟悉了,也可以学习下TS的语法,课程使用 TypeSc…

RS2227XN功能和参数介绍及PDF资料

RS2227XN是一款模拟开关/多路复用器 品牌: RUNIC(润石) 封装: MSOP-10 描述: USB2.0高速模拟开关 开关电路: 双刀双掷(DPDT) 通道数: 2 工作电压: 1.8V~5.5V 导通电阻(RonVCC): 10Ω 功能:模拟开关/多路复用器 USB2.0高速模拟开关 工作电压范围:1.8V ~ 5…

Linux命令使用

一、ls tree clear 1.1 ls ls:查看当前目录下的文件名ls 目录名:查看指定目录下的文件名ls /:查看根目录下的文件名ls -a:查看当前目录下的所有文件名,包括隐藏文件ls -l:查看当前目录下文件的详细信息…