原文地址:http://redis.io/topics/introduction
Redis是一个开源的(以BSD licensed释出),基于内存的结构化数据存储,多用作数据库,缓存和消息代理。目前支持的数据结构有string,hashes,lists,sets,用作区间查询的sotred sets, bitmaps, hyperloglogs 和 geospatial indexes。 redis内置了冗余存储,Lua脚本,基于LRU 算法的数据自动回收, 事务和不同级别的数据持久化。 并通过Redis Sentinel提供高可用性redis,通过自动分区实现了Redis Cluster。
你能运行一些原子操作,如将数据追加到一个字符串; 在hash中自增一个元素的值; 向list中追加一个元素; 计算集合的交集、 并集、 差集; 或者从一个sorted list中获取最大值。
Redis 以内存作为数据集存储位置,以此实现其卓越的性能。 你能将内存中的数据集持久化到硬盘, 直接序列化内存镜像,或者将每一条运行命令追加到log文件中, 视配置而定。 也可以将数据持久化去掉,这样便将redis作为一个基于内存的网络缓存系统。
Redis也支持master-slave 模式的异步冗余存储。 这通过快速的非阻塞同步,自动重连并在不同网络分片上多次同步来实现。
其他特性:
事务
Pub/Sub (发布及订阅)
Lua脚本
限时存活的keys
基于LRU算法的keys自动销毁
master自动备援
你也可以使用多种语言访问redis数据库,提供了很多语言的数据库驱动。
Redis是由ANSI C编写,且在大多数POSIX系统(Linux, *BSD, 无外部依赖的OS X)都可以正常工作。 Redis开发环境使用了Linux和OS X,这也说明其在这两个平台上得到更多的测试。我们推荐你使用Linux系统部署Redis。Redis兴许也能运行在与Solaris同源的Unix发行版上,如SmartOS,但我们的支持只能尽力而为。而目前对于windows平台官方并没有支持。不过可以选择MSOpenTech的redis,其维护了一个win-64的Redis版本。