认识redis
什么是redis
-
基于内存的数据库,因此读写速度非常快
-
提供多种数据类型支持不同的业务场景
redis和Memcached有什么区别
-
共同点:
- 都是基于内存的数据库
- 都有过期策略
- 两者性能都非常高
-
不同点:
- Redis支持的数据类型更加丰富
- 支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载使用,而Memcached没有持久功能,数据全在内存中
- Redis原生支持集群模式,Memcached没有原生的集群模式,需要依赖客户端来实现集群中分片
- Redis还支持订阅模型,Lua脚本,事务等功能
为什么用redis作为MySQL的缓存
-
高性能
- 主要是数据存在内存中,读取缓存即可
-
高并发
- QPS
Redis数据结构
Redis数据类型以及使用场景分别是什么
- String:
- List
- Hash
- Set
- Zset
- BitMap(2.2版本更新)
- HyperLogLog(2.8更新)
- GEO(3.2更新)
- Stream(5.0版本更新)
五种常见的redis数据类型是怎么实现的

- String:SDS(简单动态字符串)
- List:
- Hash
- Set
- Zset
- BitMap(2.2版本更新)
- HyperLogLog(2.8更新)
- GEO(3.2更新)
- Stream(5.0版本更新)
Redis线程模型
Redis是单线程吗
-
Redis单线程指的是:
-
并不是单线程