官方网站链接:https://redis.io/
简介
Redis 是一个内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件. 它支持多种类型的数据结构,如字符串(strings),散列(hashes),列表(lists),集合(sets),有序集合(sorted sets)与范围查询,bitmaps,hyperloglogs 和 地理空间(geospatial)索引半径查询. Redis 内置了 复制(replication),LUA脚本(Lua scripting),LRU驱动事件(LRU eviction),事务(transactions)和不同级别的 磁盘持久化(persistence),并通过 Redis哨兵(Sentinel)和自动 分区(Cluster)提供高可用性(high availability)。
Redis 同样支持 主从复制(能自动重连和网络断开时自动重新同步),并且第一次同步是快速的非阻塞式的同步。
应用场景
为了实现其卓越的性能,Redis 采用运行在内存中的数据集工作方式. 根据您的使用情况,您可以每隔一定时间将数据集导出到磁盘,或者 追加到命令日志中。您也可以关闭持久化功能,将Redis作为一个高效的网络的缓存数据功能使用。
功能特性
1. 速度快
Redis使用标准C编写实现,而且将所有数据加载到内存中,所以速度非常
快。官方提供的数据表明,在一个普通的Linux机器上,Redis读写速度分别达到81000/s和110000/s。
2. 数据结构丰富
可以将Redis看做“数据结构服务器”。目前,Redis支持5种数据结构。
3. 持久化
由于所有数据保持在内存中,所以对数据的更新将异步地保存到磁盘上,
Redis提供了一些策略来保存数据,比如根据时间或更新次数。数据超过内存,使用swap,保证数据。
4. 自动操作
Redis对不同数据类型的操作是自动的,因此设置或增加key值,从一个集合
中增加或删除一个元素都能安全的操作。
5. 支持多种语言
Redis支持多种语言,诸如Ruby,Python, Twisted Python, PHP, Erlang, Tcl, Perl,
Lua, Java, Scala, Clojure等。
6. 主-从复制
Redis支持简单而快速的主-从复制。
官方提供了一个数据,Slave在21秒即完成了对Amazon网站10Gkey set的
复制。
7. Sharding
很容易将数据分布到多个Redis实例中,但这主要看该语言是否支持。目前支持Sharding功能的语言只有PHP、Ruby和Scala。
1. 自动化部署
通过Insight HD 大数据管理平台实现Redis服务安装以及Redis-Cluster搭建
的自动化部署。
2. 集群状态可视化监控
通过RedisMonitor组件可以对Redis-Cluster中各个Redis-Server实例的健康
状况以及资源消耗等状态信息进行有效的可视化监控。