Redis 是一个高性能的key-value数据库。 redis的出现,很大程度补偿了memcached这类keyvalue存储的不足,在部 分场合可以对关系数
1.Redis简介
Redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)和zset(有序集合)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis支持各种不同方式的排序。与memcached一样,为了保证效率,数据都是缓存在内存中。区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。
Redis 是一个高性能的key-value数据库。 redis的出现,很大程度补偿了memcached这类keyvalue存储的不足,在部 分场合可以对关系数据库起到很好的补充作用。它提供了Python,Ruby,Erlang,PHP客户端,使用很方便。
2.物理环境
Master:192.168.1.249 CentOS 5.5
Slave:192.168.1.244 Centos 5.5
3.获取redis软件包
在redis的官方网站()下载最新的稳定版本redis-2.6.4.tar.gz。
4.安装配置Redis主服务。
4.1用tar -zxvf解压软件包。
4.2用make && make install 编译安装Redis服务。
4.3创建Redis主配置文件目录,并复制redis.conf到该目录下面。
4.4编辑Redis主配置文件。
[root@Redis249 redis]# vim /etc/redis/redis.conf
#redis 以后台进程运行,默认为NO
daemonize yes
#如果已后台程序运行,则需要制定一个PID
pidfile /data/logs/redis/redis.pid
#redis服务绑定的主机IP
bind 192.168.1.249
#redis监听的端口,默认为6379
port 6379
#客户端连接超时时间,默认为300秒
timeout 600
#日志级别,,分为debug,verbose(default),notice,waring
loglevel notice
#日志文件存放位置,默认为stdout
logfile /data/logs/redis/redis.log
#可用数据库数,默认为16
databases 16
#900秒内至少有一个key被改变
save 900 1
#300秒内至少有十个key被改变
save 300 10
#60秒内只要有一万个key被改变
save 60 10000
#存储到本地数据库是否压缩,默认为yes
rdbcompression yes
#本地数据库文件名,默认为dump.rdb
dbfilename yanzi_dump.rdb
#本地数据库存放路径
dir /data/redis/
#客户端最大连接数,默认不限制
maxclients 128
#是否每次日志更新操作后进行日志记录
appendonly yes
#更新日志文件名,默认为appendonly.aof
appendfilename yanzi_update.aof
#verysec表示每秒钟同步一次数据到磁盘(默认值)。
appendfsync everysec
#redis slave连接密码
#requirepass sfzhang
no-appendfsync-on-rewrite no
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
slowlog-log-slower-than 10000
slowlog-max-len 1024
really-use-vm yes
#是否使用虚拟内存,默认为no
vm-enabled yes
#虚拟内存文件路径,默认值为/tmp/redis.swap
vm-swap-file /tmp/redis.swap
#默认值为零,所有的values存储在磁盘
vm-max-memory 0
#虚拟内存文件以块存储,每块32bytes
vm-page-size 32
#虚拟内存文件的最大数
vm-pages 134217728
#设置访问swap文件的线程数
vm-max-threads 4
#指定在超过一定数量或者最大元素超过某一临界时,采用一种特殊的哈希算法
hash-max-zipmap-entries 512
hash-max-zipmap-value 64
list-max-ziplist-entries 512
list-max-ziplist-value 64
set-max-intset-entries 512
zset-max-ziplist-entries 128
zset-max-ziplist-value 64
#是否重置Hash表
activerehashing yes