一、Redis是什么
Redis:REmote Dictionary Server(远程字典服务器)
官网解释:Remote Dictionary Server(远程字典服务)是完全开源的,使用ANSIC语言编写遵守BSD协议,是一个高性能的Key-Value数据库提供了丰富的数据结构,例如String、Hash、List、Set、SortedSet等等。数据是存在内存中的,同时Redis支持事务、持久化、LUA脚本、发布/订阅、缓存淘汰、流技术等多种功能特性提供了主从模式、Redis Sentinel和Redis Cluster集群架构方案。
- 高性能的Key-Value数据库
- 数据是存在内存中的
- Redis之父:安特雷兹
二、Redis能干嘛
1、分布式缓存,档在mysql数据库之前的带刀护卫
- Redis是key-value数据库(NoSQL一种),mysql是关系数据库
- Redis数据操作主要在内存,而mysql主要存储在磁盘
- Redis在某一些场景使用中要明显优于mysql,比如计数器、排行榜等方面
- Redis通常用于一些特定场景,需要与Mysql一起配合使用
- 两者并不是相互替换和竞争关系,而是共用和配合使用
2、内存存储和持久化(RDB+AOF)
- redis支持异步将内存中的数据写到硬盘上,且不影响服务
- 高可用架构搭配
- 缓存穿透、击穿、雪崩
- 分布式锁
- 队列
- ······
三、Redis优势
- 性能极高:redis读的速度是110000次/秒,写的速度是81000次/秒
- redis数据类型丰富,不仅仅支持简单key-value键值对,同时还提供list set zset hash等数据结构的存储
- redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用
- redis支持数据备份,master-slave模式的数据备份