1.下载redis
下载地址 http://code.google.com/p/redis/downloads/list
本人下载的版本: redis-2.6.0.tar.gz
2.解压安装
2.1
下载后解压 tar zxvf redis-2.6.0.tar.gz 到任意目录,例如/data/software
2.2.
解压后,进入redis目录redis-2.6.0 然后make 再然后make install
2.3
make install命令执行完成后,会在/usr/local/bin目录下生成几个可以执行的文件,分别是
-rwxr-xr-x 1 root root 3502987 Sep 5 13:51 redis-benchmark Redis性能测试工具,测试Redis在当前系统下的读写性能
-rwxr-xr-x 1 root root 22185 Sep 5 13:51 redis-check-aof 数据修复
-rwxr-xr-x 1 root root 45411 Sep 5 13:51 redis-check-dump 检查导出工具
-rwxr-xr-x 1 root root 3560161 Sep 5 13:51 redis-cli Redis命令行操作工具,测试Redis在当前系统下的读写性能
-rwxr-xr-x 1 root root 4825002 Sep 5 13:51 redis-server Redis服务器的daemon启动程序
2.4
拷贝文件
cp redis.conf /etc/ 这个文件时redis启动的配置文件
cp redis-benchmark redis-cli redis-server /usr/bin/ #这个倒是很有用,这样就不用再执行时加上./了,而且可以在任何地方执行
3.修改系统配置文件:执行命令
3.1
echo vm.overcommit_memory=1 >> /etc/sysctl.conf
3.2
sysctl vm.overcommit_memory=1 或执行echo vm.overcommit_memory=1 >>/proc/sys/vm/overcommit_memory
3.3 使用的数字含义:
0:表示内核将检查是否有足够的可用内存供应用进程使用,如果有足够的可用内存,内存申请允许;否则,内存申请失败,并且把错误返回给应用进程
1:表示内核允许分配所有的物理内存,而不管当前的内存状态如何
2:表示内核允许分配超过所有物理内存和交换空间总和的内存
为什么要修改配置文件?
解释:
值得注意的一点是,redis在dump数据的时候,会fork出一个子进程,理论上child进程所占用的内存和parent是一样的,比如parent占用内存为8G,
这个时候也要同样分配8G的内存给child,如果内存无法负担,往往会造成redis服务器的down机或者IO负载过高,效率下降。
所以这里比较优化的内存分配策略应该设置为 1(表示内核允许分配所有的物理内存,而不管当前的内存状态如何)
4.修改redis的配置文件
cd /etc vi redis.conf
修改daemonize yes--目的使进程在后台运行
参数介绍:
daemonzie:是否以后台daemon方式运行
pidfile:pid文件位置
port:监听端口
timeout:请求超时时间
loglevel:log信息级别
logfile:log文件位置
databases:开启数据库的数量
save * *:保存快照的频率 第一个表示多长时间,第二个*表示执行多少次写操作。在一定时间内执行一定数量的写操作时,
自动保存快照,可以设置多个条件
rdbcompression:是否使用压缩
dbfilename:数据快照文件名(只是文件名,不包括目录)
dir:数据快照的保存目录(这个是目录)
appendonly:是否开启appendonlylog:开启的话每次写操作会记录一条log,这会提高数据抗风险能力,但影响效率
appendfsync:appendonlylog如何同步到磁盘(三个选项,分别是每次都强制调用fsync,每秒启用一次fsync,不调用fsync等待系统自动同步)
5.修改防火墙配置文件
5.1
修改方法一:
开启redis端口,修改防火墙配置文件
vi /etc/sysconfig/iptables
加入端口
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 6379 -j ACCEPT
修改方法二:
iptables -I INPUT -p tcp –dport 6379 -j ACCEPT
iptables-save > /etc/sysconfig/iptables
5.3重新加载规则
service iptables restart
6.启动redis
cd /usr/local/bin
./redis-server /etc/redis.conf
7.检查是否启动成功
ps -ef | grep redis
8.测试
[root@iZ23jmtnnhoZ bin]# redis-cli
redis 127.0.0.1:6379> set name hello
OK
redis 127.0.0.1:6379> get name
"hello"
9.关闭redis服务器
redis-cli shutdown
如果设置了密码关闭服务器
./redis-cli -h ip -a pwd
说明: redis服务关闭后,缓存数据会自动dump到硬盘上,硬盘地址为redis.conf中的配置项dbfilename dump.rdb所设定 强制备份数据到磁盘,使用如下命令 edis-cli save 或者 redis-cli -p 6380 save(指定端口)
原文链接:https://www.f2er.com/centos/380876.html