1、C 语言实现。
我们都知道,C 语言的执行速度非常快。
2、纯内存操作。
Redis 为了达到最快的读写速度,将数据都读到内存中,并通过异步的方式将数据写入磁盘。所以 Redis 具有快速和数据持久化的特征。
如果不将数据放在内存中,磁盘 I/O 速度为严重影响 Redis 的性能。
- 3、基于非阻塞的 IO 多路复用机制。
4、单线程,避免了多线程的频繁上下文切换问题。
Redis 利用队列技术,将并发访问变为串行访问,消除了传统数据库串行控制的开销。
实际上,Redis 4.0 开始,也开始有了一些异步线程,用于处理一些耗时操作。例如说,异步线程,实现惰性删除(解决大 KEY 删除,阻塞主线程)和异步 AOF (解决磁盘 IO 紧张时,fsync 执行一次很慢)等等。
5、丰富的数据结构。
Redis 全程使用 hash 结构,读取速度快,还有一些特殊的数据结构,对数据存储进行了优化。例如,压缩表,对短数据进行压缩存储;再再如,跳表,使用有序的数据结构加快读取的速度。
也因为 Redis 是单线程的,所以可以实现丰富的数据结构,无需考虑并发的问题。
本文来自投稿,不代表本站立场,如若转载,请注明出处: