Redis 介绍

一、什么是Redis

Redis 是一个遵循键值存储原则的 NoSQL 数据库。键值存储提供了在键中存储一些称为值的数据的能力。仅当您知道用于存储它的确切密钥时,您才能稍后接收此数据。

Redis 是一种灵活、开源(BSD 许可)的内存数据结构存储,用作数据库、缓存和消息代理。Redis 是一个 NoSQL 数据库,因此它可以方便用户存储大量数据,而不受关系数据库的限制。

Redis 支持各种类型的数据结构,如字符串、哈希、列表、集合、排序集、位图、超日志和具有半径查询的地理空间索引。

二、Redis架构

Redis架构主要有两个流程:

  • Redis 客户端
  • Redis 服务器

这些客户端和服务器可以在同一台计算机上或两台不同的计算机上。

Redis 服务器用于在内存中存储数据。它控制所有类型的管理并构成架构的主要部分。您可以在安装 Redis 应用程序时创建 Redis 客户端或 Redis 控制台客户端。

三、Redis特点

以下是 Redis 的主要功能列表:

速度: Redis 将整个数据集存储在主内存中,这就是它非常快的原因。它加载高达 110,000 SET/秒,并且可以在入门级 Linux 机器中检索 81,000 GET/秒。Redis 支持命令流水线化,方便您在单个命令中使用多个值,以加快与客户端库的通信。

持久性:虽然所有数据都存在于内存中,但使用基于自上次保存以来经过的时间和/或更新次数的灵活策略将更改异步保存在磁盘上。Redis 支持仅附加文件持久性模式。查看更多关于 Persistence 的信息,或阅读 AppendOnlyFileHowto 了解更多信息。

数据结构: Redis 支持各种类型的数据结构,例如字符串、散列、集合、列表、带范围查询的排序集合、位图、超日志和带半径查询的地理空间索引。

原子操作:处理不同数据类型的 Redis 操作是原子的,因此设置或增加键、从集合中添加和删除元素、增加计数器等是安全的。

支持多种语言: Redis 支持很多语言,如 ActionScript、C、C++、C#、Clojure、Common Lisp、D、Dart、Erlang、Go、Haskell、Haxe、Io、Java、JavaScript (Node.js)、Julia、Lua 、Objective-C、Perl、PHP、Pure Data、Python、R、Racket、Ruby、Rust、Scala、Smalltalk 和 Tcl。

主/从复制: Redis 遵循非常简单快速的主/从复制。只需在配置文件中设置一行,Slave 需要 21 秒才能完成 Amazon EC2 实例上 10 MM 密钥集的初始同步。

分片: Redis 支持分片。像其他键值存储一样,跨多个 Redis 实例分布数据集非常容易。

便携: Redis 是用 ANSI C 编写的,可以在大多数 POSIX 系统中运行,如 Linux、BSD、Mac OS X、Solaris 等。Redis 据说用 Cygwin 编译可以在 WIN32 下编译和工作,但目前没有官方对 Windows 的支持。

热门文章

优秀文章