资料内容:
什么是 redis?他是用来做什么的?
Redis 是一个 c 语言编写的 nosql 的数据库,支持网络,可基于内存也可持
久化的,key-value 类型的数据库。
与一般数据库不同的是,redis 是存储在内存中的,他的读写速度非常快,
常常被广泛应用到缓存之中。
redis 除了用作缓存,还可以干什么?
1. 缓存
2. 计数器
3. 排行榜
4. 数据排重
5. 消息队列
6. 分布式锁
Redis 线程模型
Redis 是单线程模型还是多线程模型
Redis6.x 之前是真正意义上的单线程, 对外提供的键值存储服务的主要流程
是单线程,也就是网络 IO 和数据读写是由单个线程来完成的. Redis6.x 引入的多线程指的是网络请求过程采用了多线程,而键值对读写命
令仍然是单线程处理的,所以 Redis 依然是并发安全的.
为什么设计为单线程模型速度也很快
1.基于内存操作:Redis 的所有数据都在内存中,因此所有的运算都是内存级别的,所以它的性能比较高. 2.哈希表结构:hash 可以在 O(1)的时间内计算出 hash 值并且找到对应的 entry
位置,entry 里面是一个一个 key 指针和 value 指针,其实还有其他信息。这也
是 redis 之所以性能高的原因之一.