这是我参与「第五届青训营 」笔记创作活动的第15天
一、本堂课重点内容:
- 为什么需要Redis,Redis的基本工作原理
- Redis应用案例
- 在字节跳动,使用Redis有哪些注意事项
什么是Redis
为什么需要Redis
由于数据不断地增长,读写数据压力不断地增加,数据库发生了以下演变:
-
从单表演进出分库分表
-
MySQL从单机演进出了集群
随着数据增长,以上方式仍不能满足需求,如此便出现了Redis:
-
数据分冷热,热数据即为经常被访问到的数据
-
将热数据存储到内存中(Redis)
好处:
-
内存的读写比磁盘要高效的多
-
Redis可以在内存中处理内部复杂性很强的事情
注意 :虽然Redis是工作在内存中,但通常和服务器是异地部署,也需要通过网络来访问。
定义
REmote DIctionary Server(Redis) 是一个由 Salvatore Sanfilippo 写的 key-value 存储系统,是跨平台的非关系型数据库。
简介
作为一个高性能的 key-value 数据库,Redis 与其他 key - value 缓存产品有以下三个特点:
-
Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。
-
Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。
-
Redis支持数据的备份,即master-slave(主-从)模式的数据备份。
基本原理
-
数据从内存中读写,以加快处理速度。
-
数据保存到硬盘上防止重启后数据丢失 (Redis实现数据持久化的原理)
-
增量数据保存到AOF文件
-
全量数据保存在RDB文件(dump.rdb)
-
-
单线程处理所有操作命令
Redis应用案例
介绍Redis的实际应用场景,及其使用到的数据结构