Redis的简单介绍(1)

Redis的简单介绍

Redis是一种"非关系型数据库", 与之相对的是"关系型数据库"例如最具代表的Mysql数据库,

Redis是一款高性能的内存数据库,数据的访问速度很快.

Redis的应用非常广泛. 常见的有: 在分布式系统中作为分布式锁, 会话存储, 计数器, 实时数据分析

Redis的数据读取速度快的原因:

下面列举两个重要的原因

1.Redis将数据储存在内存中,这种方式较Mysql这种将数据储存在硬盘上的方式, 大幅提升了数据读取的速度.

2.Redis在对数据进行操作时采用的是单线程模式, 但这并不是说Redis没有多线程. 单线程数据的操作模式不需要考虑多线程和锁冲突的问题使读取速度增快.

常见的基本数据类型

前言:

Redis的数据存储是按照键值对的形式进行存储(key-value).即一个键对应一个值.但需要注意的是

key的数据类型只能是string类型. 不一样的是value的类型有下列几种常见的类型.

String类型

虽然说是String类型,但能存储的不只是"字符串",包含: text(文本数据), serialized objects(序列化对象), binary arrays(二进制数组如:图片).

List类型

List类型是指数据以一个双向链表(记录了头尾位置)的形式进行储存且列表中存储的值是String类型,主要有以下几个特点

  • 插入数据的方式为头插法或者尾插法. 所以无论列表存储了多少元素. 插入数据的时间复杂度是一个常数.
  • 列表中的元素是有序(这里的有序并不是指升序,降序排列的. 指的是顺序一旦改变,这个列表就不是之前的列表了)的,这意味着可以通过索引下标获取某个元素或者某个范围的元素列表
  • 列表中的元素是允许重复的

Set类型

集合类型,一个Key中对应多个Value. 但一个Key中的Value是不能重复的 对多个Set之间可以进行交集,并集,差集运算. 运算方式与数学中的方式一致.

应用场景: 记录用户所浏览的记录的标签, 并按照所记录的标签推荐类似的内容.

Hash类型

数据的存储和redis的数据存储一样也是Key-Value结构, 为了避免混淆. 数据的存储的形式为

Field-Value形式. 同时一个key中可包含多个hash的键值对.

主要作用于:

  • 客户会话管理:将客户数据存储在哈希键中。为每个会话创建一个新的哈希键,并将会话字段添加到客户的哈希键中。当会话过期时,自动使会话键和客户哈希键中的会话字段过期。
  • 事件跟踪:使用哈希键存储过去一小时的事件。将每个事件的TTL(过期时间)设置为一小时。使用HLEN(可以计算键值对的数量)来统计过去一小时的事件。

Zset类型

在Set类型的基础上又为每一个value加上了一个分数(score). 并利用这个分数对Value进行排序

排序默认为升序排序.

需要注意的是: value不能重复,但score可以重复(不同的value可以包含相同的score), 而且Zset也可以进行交集,并集,差集运算.

最常见于排行榜, 为每个Key进行排名

相关推荐
这个DBA有点耶2 天前
MVCC深入:Read View、版本链与快照读——InnoDB并发控制的内核
数据库·mysql·架构
DBA_G2 天前
从地面到云霄:GBase数据库在民航三大场景的落地实践
数据库
自由能燃气设备2 天前
商用全预混低氮冷凝锅炉免费方案vs付费方案对比+选型避坑指南
大数据·数据库·人工智能
科创致远2 天前
科创致远 ESOP 系统核心效能与实战价值展示
大数据·数据库·人工智能·精益工程
IT大白鼠2 天前
Redis 系列 · 第 01 篇——认知入门:Redis 是什么
redis·nosql
彧azz2 天前
Linux 环境下 Redis 学习总结:数据类型、持久化、锁、事务、主从与缓存问题
linux·redis·笔记·学习·面试
2601_962218612 天前
万象生鲜系统称重自动多退少补算法解决生鲜非标品痛点
大数据·数据库·人工智能·python·算法
全栈弄潮儿²⁰²⁴2 天前
AI Agent 开发实战(30):限流、缓存与成本控制
人工智能·gpt·缓存·agent·限流·agi·成本控制
张洛闻Eren2 天前
k8s云原生【第十课】:水平 Pod 自动扩缩容
运维·数据库·云原生·kubernetes·github
于平安2 天前
MySQL-触发器
数据库·mysql