1.redis介绍
1.redis特性
- 速度快 体现在内存处理
- 持久化 可以把数据持久化到磁盘
- 多种数据结构
- 支持多种编辑语言
- 功能丰富
- 简单
- 主从复制
- 高可用 分布式
1️⃣ 速度快
官方给出 10W OPS
数据存放在哪里 -》 内存
语言编写 -》 c语言(核心代码约50000line)
线程模型 -》单线程
类型 | 每秒读写次数 | 随机读写延迟 | 访问带宽 |
---|---|---|---|
内存 | 千万级 | 80ns | 5GB |
SSD盘 | 35000 | 0.1-0.2ms | 100-300MB |
机械盘 | 100左右 | 10ms | 100MB左右 |
2️⃣持久化
redis将所有的数据保存在内存上,对数据的更新异步保存在硬盘上
相关如何持久化后面章节介绍
3️⃣多种数据结构
提供5种数据结构 string list set zset hash
4️⃣支持多语言
java php python ruby lua nodeJs
5️⃣功能丰富
发布订阅,lua脚本,简单事务,pipeline
6️⃣简单
体现在:
单节点redis主要功能有23000行代码,阅读起来相对比较容易
不依赖外部库
单线程模型
7️⃣高可用 分布式
高可用 -》 redis-sentinel(v2.8)支持高可用
分布式 -》 redis-cluster(v3.0)支持分布式
2.redis使用场景
- 缓存系统(最为普遍)
- 计数器
- 消息队列系统
- 排行榜
- 社交网络
- 实时系统
1️⃣缓存系统
2️⃣计数器
之所以可以应用计数,一是因为redis提供incre命令,二是采用单线程模型,不会发生并发问题