现在的位置: 首页 > 综合 > 正文

redis配置文件说明

2012年02月15日 ⁄ 综合 ⁄ 共 2340字 ⁄ 字号 评论关闭

Redis介绍

Reids是一个比较高级的开源key-value存储系统,采用ANSI C实现。其与memcached类似,但是支持持久化数据存储,同时value支持多种类型:字符串 (同memcached中的value),列表 ,集合 (Set),有序集合(OrderSet)和Hash 。所有的值类型均支持原子操作,如列表中追加弹出元素,集合中插入移除元素等。Rdids的数据大部分位于内存中,其读写效率非常高,其提供AOF(追加 式操作记录文件)和DUMP(定期数据备份)两种持久化方式。Redis支持自定义的VM(虚拟内存)机制,当数据容量超过内存时,可以将部分Value 存储到文件中。同时Redis支持Master-Slave机制,可以进行数据复制。

附:redis.conf配置文件:

#是否作为守护进程运行
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

 

Redis主从配置

REDIS主从配置相当简单,一些文章啰里罗嗦的写了一大篇,其实就两句话:

打开从机的redis.conf

 Port 6380 (注:不能跟主机的一样)

 Sleverof 192.168.194.102 6379 (注:ip为主机IP,6379为主机REDIS端口号)

先重启主机,再重启从机

 

 

做了简单测试:

<?php
$redis=new Redis();
$redis->connect('192.168.194.102',6379);
$redis->set('test','hello redis');
echo 'From master:'.$redis->get('test').'<br>';

$redis_salve=new Redis();
$redis_salve->connect('192.168.194.103',6380);
echo 'From salve:'.$redis_salve->get('test').'<br>';
?>

执行结果:

From master:hello redis
From salve:hello redis

-----------------------------------

可以看出在从机上也有数据了,现在我把主机关掉,看是否还能读出从机的数据呢?

Stopping redis-server: redis-server.

测试代码:

<?php

$redis_salve=new Redis();
$redis_salve->connect('192.168.194.103',6380);
echo 'From salve:'.$redis_salve->get('test').'<br>';
?>

运行结果:

From salve:hello redis

说明,主机当掉后,还能继续从从机中获取数据,但是,如果测试代码中有连接主机的代码时候,会导致不正确。

-----------------------------------------------------------

开启主机后,关闭从机,只能从主机获取数据,从机上获取不到数据。

抱歉!评论已关闭.