Redis概述
什么是redis
Redis是一种支持key-value等多种数据结构的高速缓存数据库,用C语言编写
- 可以用于缓存、事件发布和订阅,高速队列等场景
- 提供字符串,哈希,列表,队列,集合直接存存取,
- 基于内存,可以持久化
为什么要使用redis
- 读写速度非常快
- 读的速度是每秒11万次,写的速度每秒8万次
- 支持多种数据类型
- 支持二进制案例的 Strings, Lists, Hashes, Sets 及 Ordered Sets 数据类型操作
- 原子性
- redis的所有操作都是原子性的,同时redis还支持对几个操作全并后的原子性执行
- 持久化
- 支持RDB,AOF等持久化方式
- 支持发布订阅模式
- 支持分布式服务
Redis是单线程的,Redis是基于内存操作的。
所以Redis的性能瓶颈不是CPU,而是机器内存和网络带宽。
那么为什么Redis的速度如此快呢,性能这么高呢?QPS达到10W+
Redis为什么单线程还这么快?
- 误区1:高性能的服务器一定是多线程的?
- 误区2:多线程(CPU上下文会切换