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️⃣缓存系统
    1.redis介绍
    2️⃣计数器
    1.redis介绍
    之所以可以应用计数,一是因为redis提供incre命令,二是采用单线程模型,不会发生并发问题