Redis 是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。其提供了多种主流语言的客户端,方便使用;同时Redis支持主从同步。
除了常规的数值或字符串,Redis的键值还可以是以下形式之一:hash,list,set及zset(sorted set)。Redis支持诸如列表、集合或有序集合的交集、并集、差集等高级原子操作;同时,如果键值的类型是普通数字,Redis则提供自增等原子操作。
所有用关系型数据库理论可以描述的结构,用Redis的数据结构,都可以实现。如果使用MySQL,当数据规模非常大时,复杂查询操作都需要借助表关联技术,比较耗时。Redis中key-value的存储方式,定位一个key只需O(1)的操作。
Redis通常将数据存储于内存中,或被配置为使用虚拟内存。可以通过两种方式可以实现数据持久化:
–使用快照(filesnapshotting)的方式,将内存中的数据不断写入磁盘;
–使用类似MySQL的日志方式,记录每次更新的日志(Append-only)。
Redis支持将数据同步到多台从库上,这种特性对提高读取性能非常有益;通过主从复制可以允许多个slave server拥有和master server相同的数据库副本。配置slave服务器很简单,只需要在配置文件中加入配置:
slaveof 主redis服务ip port
支持C、C++、C#、Java、Lua、 Perl Javascript、Objective-C、PHP、Ruby、 Python 、Go等语言;C/C++官方的推荐客户端为:hiredis.(实例如下)
参考:
•中文官方网站:http://www.redis.cn/
•Redis工具使用方法: http://dmouse.iteye.com/blog/811455
•Redis主从配置: http://www.cnblogs.com/liuling/p/2014-4-19-02.html