*Redis 是什么

Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。它支持多种类型的数据结构,如 字符串(strings)散列(hashes)列表(lists)集合(sets),带有范围查询的 有序集合(sorted sets)bitmapshyperloglogs地理空间(geospatial) 索引。 Redis 内置了 复制(replication)LUA脚本(Lua scripting)LRU驱动事件(LRU eviction)事务(transactions) 和不同级别的 磁盘持久化(persistence), 并通过 Redis哨兵(Sentinel) 和自动 分区(Cluster)提供高可用性(high availability)。

你可以对这些类型执行 原子操作 , 列如: 字符串(strings)的append 命令; 散列(hashes)的hincrby命令; 列表(lists)的lpush命令; 集合(sets)计算交集sinter命令计算并集union命令计算差集sdiff命令; 或者 在有序集合(sorted sets)里面获取成员的最高排名zrangebyscore命令

为了获得最佳性能, Redis 使用 内存中的数据集。 根据您的使用情况, 您可以定期将 数据集转存储到磁盘 或者 将每个命令附加到基于磁盘的日志来持久化您的数据,您也可以关闭持久化功能,将Redis作为一个高效联网内存缓存使用。

Redis 同样支持 主从复制,快速非阻塞同步,自动重新连接并在网络断开时进行部分重新同步。

其他功能包括:

您可以使用 大多数的编程语言 来使用Redis。

Redis 使用 ANSI C 编写并且能在绝大Linux系统上运行,基于BSD协议,对OS X没有外部依赖。支持Linux 和 OS X两种系统的开发和测试,推荐使用Linux部署。官方不支持Windos版本的Redis,但微软开发和维护着支持win-64 的Redis版本。