概览
本篇博文主要是为了简单介绍 Redis。
介绍
Redis 是一个开源(BSD 许可)的,基于内存的数据结构存储,且被用作数据库,缓存和消息代理。
它支持数据类型有:strings、hashes、lists、sets、带有范围查询的 sorted sets、bitmaps、hyperloglogs、带有半径查询的 geospatial indexes 以及 streams。
Redis 内置了复制、Lua 脚本、LRU 剔除、事务以及不同级别的磁盘持久化,并通过 Redis Sentinel 和带有 Redis 集群的自动分区提供了高可用。
你可以对这些类型运行原子操作,比如:追加字符串;在 hash 中增加值;将一个元素插入列表中;计算集合的交集、并集和差集;获取有序的集合中最高排名的成员。
当然,为了能够达到出色的性能,Redis 使用的是内存数据集。根据你的需求,你也可以将数据集偶尔转储到磁盘上,或者将每条命令都附加到日志文件中来实现数据集的持久化。如果你仅需要一个功能丰富的网络内存缓存,你可以选择禁用持久化。
Redis 还支持主从异步复制、非常快的非阻塞优先同步,以及在网络拆分时具有部分重新同步的自动重连。
其他的功能包括:
- 事务
- 发布/订阅
- Lua 脚本
- 生存时间有限的键
- 键的 LRU 剔除
- 自动故障转移
最后,Redis 是由 ANSI C 语言编写而成,可在大多数 POSIX 系统(如 Linux、*BSD 和 OS X)无外部依赖运行。Redis 常在 Linux 和 OS X 系统中进行开发和测试,也非常建议使用 Linux 进行部署。Redis 也许可以在像 SmartOS 这样的 Solaris 驱动的系统中工作,但也仅仅是尽力而为。Windows 版本目前还没有官方支持。