Redis是一个基于内存的数据结构存储,相较于传统的磁盘存储,它的读取、写入速度更快。这主要得益于以下几点:
使用内存存储
Redis将所有数据存储在内存中,不同于其他数据库的磁盘存储。内存的存取速度比磁盘存储快了好几个数量级,这导致Redis在读取、写入速度上要快于其他磁盘存储的数据库。像传统数据库使用磁盘存储表示将每一次的修改刷新在磁盘写入,一次写入操作要进行若干次寻道、旋转和寻道灯移动等机械操作,但Redis的存储方式很不一样,它的所有修改都是直接在内存里进行,一次修改仅仅涉及数据的存取、处理、替换、回填等内存操作,所以Redis极高的访问效率在内存操作上有着最大限度的体现。
采用单线程方式进行操作
Redis采用了单线程的方式,所以Redis执行操作时是 从内存中读取数据,处理命令,然后将结果响应给客户端。这样操作的过程更加简单、快速,没有使用并发消耗的一些操作。因此在没有压力时,发挥Redis并发能力的成本非常之低,支持并发和连接的能力也非常强。
数据结构简单而高效
Redis支持的数据类型非常简洁,它只支持五种基本的数据结构,分别是String,List,Set,Sorted Set和Hash,但是每一种数据结构却都极其高效。比如不仅仅支持List类型的操作命令,而且还支持Store,能够用于像采购清单的自动去重,以及许多没有 SQL 完成器的数据透视。Hash在缓存的场景中的应用也是非常灵活的,可以将其中的键值对转化为可读性更高的可读性更高的JSON结构。这样操作的过程更加简单、快速,体现了Redis存储速度快的优势。