Redis 是一个开源的,先进的 key-value 存储并用于构建高性能,可扩展 web 应用程序的解决方案。Redis 主要的三个特点:Redis 数据库完全在内存中,使用磁盘仅用于持久性。相比许多键值数据存储,Redis 拥有一套较为丰富的数据类型。Redis 可以将数据复制到任意数量的从服务器中。
Redis 的优势
- 异常快速:Redis 速度非常快,每秒能执行约 11 万集合,约 81000 条每秒。
- 支持丰富的数据类型:Redis 原生支持最大多数开发人员已经知道的,像列表,集合,分类,散列等数据类型。这使得它非常容易解决各种各样的问题,因为我们知道哪些数据类型问题是可以通过它的处理得更好。
- 操作原子性:所有 Redis 的操作是原子的,这保证了如果两个客户端同时访问的 Redis 服务器将获得更新后的值。
- MultiUtility 工具:Redis 是一个多实用的工具,可以在一些像缓存,消息,队列用例中使用(Redis 原生支持发布/订阅)
相对于其他的 key-value 存储,为什么 Redis 不同?
- Redis 是 key-value 数据库,其中值可以包含更复杂的数据类型,对这些数据类型定义的原子操作不同的演进路径。
- Redis 在内存中,但持续存储在磁盘上的数据库,所以它代表了不同的权衡,非常高的读写速度达到了数据集的限制,不能比内存大。在存储器的数据库的另一个优点是,复杂的数据接口存储表示简单得多(相比操作磁盘上相同的数据结构),这样 Redis 可以做很多,很少有内部的复杂性。