Redis-大厂是怎么用的|青训营笔记

101 阅读2分钟

这是我参与「第五届青训营 」笔记创作活动的第15天

一、本堂课重点内容:

  1. 为什么需要Redis,Redis的基本工作原理
  2. Redis应用案例
  3. 在字节跳动,使用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的实际应用场景,及其使用到的数据结构

连续签到

消息通知

计数

排行榜

限流

分布式锁

在字节使用Redis

大Key

热Key

慢查询场景

缓存穿透、缓存雪崩

参考资料

菜鸟教程

后端学习资料七