日期:2014-05-16 浏览次数:20497 次
http://bbs.linuxtone.org/thread-7129-1-1.html
?
Redis介绍
??
??? Redis本质上一个Key/Value数据库,与Memcached类似的NoSQL型数据库,但是他的数据可以持久化的保存在磁盘上,解决了服
务重启后数据不丢失的问题,他的值可以是string(字符串)、list(列表)、sets(集合)或者是ordered?? sets(被排序的集
合),所有的数据类型都具有push/pop、add/remove、执行服务端的并集、交集、两个sets集中的差别等等操作,这些操作都是具有原子性
的,Redis还支持各种不同的排序能力
?? ??? Redis 2.0更是增加了很多新特性,如:提升了性能、增加了新的数据类型、更少的利用内存(AOF和VM)
?? ??? Redis支持绝大部分主流的开发语言,如:C、Java、C#、PHP、Perl、Python、Lua、Erlang、Ruby等等
Redis性能:
?? ??? 根据Redis官方的测试结果:在50个并发的情况下请求10w次,写的速度是110000次/s,读的速度是81000次/s
?? ??? 测试环境:
?? ??? 1. ?? ??? 50个并发,请求100000次
?? ??? 2. ?? ??? 读和写大小为256bytes的字符串
?? ??? 3. ?? ??? Linux2.6 Xeon X3320 2.5GHz的服务器上
?? ??? 4. ?? ??? 通过本机的loopback interface接口上执行
地址:http://code.google.com/p/redis/wiki/Benchmarks
Redis的功能:
?? 1、Redis的Sharding:Redis支持客户端的Sharding功能,通过一致性hash算法实现,当前Redis不支持故障冗余,在集群中不能在线增加或删除Redis
?? 2、Redis的master/slave复制:
?? ?? ?? ?? ?? ??? 1. ?? ??? 一个master支持多个slave
?? ?? ?? ?? ?? ??? 2. ?? ??? Slave可以接受其他slave的连接来替代他连接master
?? ?? ?? ?? ?? ??? 3. ?? ??? 复制在master是非阻塞的,而在slave是阻塞的
?? ?? ?? ?? ?? ??? 4. ?? ??? 复制被利用来提供可扩展性,在slave端只提供查询功能及数据的冗余
?? 3、Redis的Virtual Memory功能:vm是Redis2.0新增的一个非常稳定和可靠的功能,
vm的引入是为了提高Redis的性能,也就是把很少使用的value保存到disk,而key保存在内存中。实际上就是如果你有10w的keys在内存
中,而只有仅仅10%左右的key经常使用,那么Redis可以通过开启VM尝试将不经常使用的Value转换到disk上保存
?? 4、Redis的附加档案(AOF)功能:Redis通过配置的策略将数据集保存到aof中,当Redis挂掉后能够通过aof恢复到挂掉前的状态
Redis的安装及配置:
?? ??? 下载Redis:wget http://redis.googlecode.com/files/redis-2.0.0-rc4.tar.gz
配置redis.conf配置文件: