准备工作
①下载redis源码包
②linux操作系统Centos5.5
③Redis版本redis-2.6.9
编译安装
①解压后进入到目录中,直接编译即可,无需configure.
操作系统cpu系列是哪个系列
uname -m
通常显示为i686
而实际cpu是i386系列
因此在编译的时候 不能直接make 否则报错
zmalloc.o: In function `zmalloc_used_memory':
/data/redis-2.6.9/src/zmalloc.c:223: undefined reference to `__sync_add_and_fetch_4'
collect2: ld returned 1 exit status
make[1]: *** [redis-server] Error 1
make[1]: Leaving directory `/data/redis-2.6.9/src'
make: *** [all] Error 2
解决方法:
#make CFLAGS="-march=i686"
②拷贝redis-benchmark redis-check-aof redis-check-dump redis-cli redis-sentinel redis-server到工作目录
我的工作目录就在/home/zhengdiao/mypro/redis/
将redis.conf 拷贝至redis目录中
开启服务
#./redis-server redis.conf
连接客户端:
#./redis-cli -h 127.0.0.1 -p 6379
配置参数
①daemonize no
控制前台运行或者后台运行的开关
②loglevel notice 日志级别控制开关
③prot 端口
④logfile stdout 日志文件路径
#logfile redis.log
⑤ 持久化
save 900 1 //在900秒内,如果有一次修改操作,则把数据保存到硬盘上
save 300 10
save 60 10000
控制内存里的数据持久化开关,控制生成dump.rdb文件频率。数据镜像是全量镜像的(任何一次
保存操作,都将内存里的所有数据保存一份),原子操作.
弊端:浪费cpu,浪费资源
好处:数据恢复方便,速度快
如果想关闭这种功能,将#save "" 前面的注释去掉即可
⑥dbfilename dump.rdb 控制数据文件名字
appendonly no 控制.aof文件生成开关,将所有对数据有修改的命令都记录下来,方便数据恢复。默认是
no 表示不记录
#appendfsync always //任何一种修改都将写入aof文件
#appendfsync everysec //每秒钟写一次
#appendfsync no //把控制权交给操作系统
控制写.aof文件频率
持久化的两种方式:
① 使用redis.conf中设置的规格(save段)将数据保存到磁盘文件(***.rdb),如果想关闭这种功能,可以:
save ""
#save 900 1
#save 300 10
#save 60 10000
② 使用aof文件记录除了查询类操作之外的操作记录。修改
1)appendonly yes 控制.aof文件生成开关,默认:no
2)去掉appendfilename appendonly.aof 前面的注释,可以用默认文件名也可以自定义一个文件名