Redis - redis的定义、特点、应用场景
1、定义
Redis是一款内存高速缓存数据库。Redis全称为:Remote Dictionary Server(远程数据服务),使用C语言编写,Redis是一个key-value存储系统(键值存储系统),支持丰富的数据类型,如:String、list、set、zset、hash。Redis是一种支持key-value等多种数据结构的存储系统。可用于缓存,事件发布或订阅,高速队列等场景。使用C语言编写,支持网络,提供字符串,哈希,列表,队列,集合结构直接存取,基于内存,可持久化。
2、特点
Redis以内存作为数据存储介质,读写数据的效率极高。
Redis跟memcache不同的是,储存在Redis中的数据是持久化的,断电或重启,数据也不会丢失。
Redis的存储分为内存存储、磁盘存储和log文件。
Redis可以从磁盘重新将数据加载到内存中,也可以通过配置文件对其进行配置,因此,redis才能实现持久化。
Redis支持主从模式,可以配置集群,更利于支撑大型的项目。
3、应用场景,能做什么
众多语言都支持Redis,因为Redis交换数据快,在服务器中常用来存储一些需要频繁调取的数据,节省内存开销,也极大的提升了速度。
将一些热点数据存储到Redis中,要用的时候,直接从内存取,极大的提高了速度和节约了服务器的开销。
- 会话缓存(最常用)
- 消息队列(支付)
- 活动排行榜或计数
- 发布,订阅消息(消息通知)
- 商品列表,评论列表
4、数据类型
支持五种数据类型:String(字符串)、hash(哈希)、list(列表)、set(集合)和zset(sorted set有序集合)
String(字符串):Redis最基本的数据类型,一个键对应一个值,一个键值最大存储512MB;
Hash(哈希):hash是一个键值对集合,是String类型的field和value的映射表,适合用于存储对象;
List(列表):是redis的简单的字符串列表,按插入顺序排序,可以重复;
Set(集合):是String字符串类型的无序集合,不可重复;
ZSet(sorted set 有序集合):是String类型的有序集合,也不可重复。每个元素都需要指定一个分数,根据分数对元素进行升序排序。
5、redis和mysql的区别
(1)类型上
从类型上来说,mysql是关系型数据库,redis是非关系型数据库。
(2)作用上
mysql用于持久化的存储数据到硬盘,功能强大,速度较慢,基于磁盘,读写速度没有Redis快,但是不受空间容量限制,性价比高。
redis用于存储使用较为频繁的数据到缓存中,读取速度快,基于内存,读写速度快,也可做持久化,但是内存空间有限,当数据量超过内存空间时,需扩充内存,但内存价格贵。
(3)需求上
mysql和redis因为需求的不同,一般都是配合使用。
需要高性能的地方使用Redis,不需要高性能的地方使用MySQL。
存储数据在MySQL和Redis之间做同步。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」