系统环境:Centos 6.3 X86_64
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的功能:
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的安装及配置:
[root@chen download]# wget [url=http://redis.googlecode.com/files/redis-2.0.0-rc4.tar.gz]http://redis.googlecode.com/files/redis-2.0.0-rc4.tar.gz[/url] [root@chen download]# tar zxvf redis-2.0.0-rc4.tar.gz [root@chen download]# cd redis-2.0.0-rc4 [root@chen redis-2.0.0-rc4]# make [root@chen redis-2.0.0-rc4]# mkdir ~/redis [root@chen redis-2.0.0-rc4]# cp redis-server ~/redis [root@chen redis-2.0.0-rc4]# cp redis-benchmark ~/redis [root@chen redis-2.0.0-rc4]# cp redis-cli ~/redis [root@chen redis-2.0.0-rc4]# cp redis.conf ~/redis [root@chen redis-2.0.0-rc4]# cd ~/redis
#是否作为守护进程运行 daemonize yes #配置pid的存放路径及文件名,默认为当前路径下 pidfile redis.pid #Redis默认监听端口 port 6379 #客户端闲置多少秒后,断开连接 timeout 300 #日志显示级别 loglevel verbose #指定日志输出的文件名,也可指定到标准输出端口 logfile stdout #设置数据库的数量,默认连接的数据库是0,可以通过select N来连接不同的数据库 databases 16 #保存数据到disk的策略 #当有一条Keys数据被改变是,900秒刷新到disk一次 save 900 1 #当有10条Keys数据被改变时,300秒刷新到disk一次 save 300 10 #当有1w条keys数据被改变时,60秒刷新到disk一次 save 60 10000 #当dump .rdb数据库的时候是否压缩数据对象 rdbcompression yes #dump数据库的数据保存的文件名 dbfilename dump.rdb #Redis的工作目录 dir /home/falcon/redis-2.0.0/ ########### Replication ##################### #Redis的复制配置 # slaveof <masterip> <masterport> # masterauth <master-password> ############## SECURITY ########### # requirepass foobared ############### LIMITS ############## #最大客户端连接数 # maxclients 128 #最大内存使用率 # maxmemory <bytes> ########## APPEND ONLY MODE ######### #是否开启日志功能 appendonly no # 刷新日志到disk的规则 # appendfsync always appendfsync everysec # appendfsync no ################ VIRTUAL MEMORY ########### #是否开启VM功能 vm-enabled no # vm-enabled yes vm-swap-file logs/redis.swap vm-max-memory 0 vm-page-size 32 vm-pages 134217728 vm-max-threads 4 ############# ADVANCED CONFIG ############### glueoutputbuf yes hash-max-zipmap-entries 64 hash-max-zipmap-value 512 #是否重置Hash表 activerehashing yes
[root@chen redis]# ./redis-server redis.conf