一 下载并安装
(1)下载:
[root@localhost src]# wget http://download.redis.io/releases/redis-3.2.5.tar.gz
(2)安装:
[root@localhost src]# tar -zxvf redis-3.2.5.tar.gz [root@localhost src]# cd redis-3.2.5 [root@localhost src]# make [root@localhost src]# make install
查看redis版本:
[root@localhost src]# redis-server -v Redis server v=3.2.5 sha=00000000:0 malloc=jemalloc-4.0.3 bits=64 build=e6b75f3646645042
二 配置
(1)创建配置文件目录:
[root@localhost src]# cd /etc [root@localhost etc]# mkdir redis
(2)创建dump file、进程pid、log目录:
这些文件一般放在/var/目录下
[root@localhost etc]# cd /var [root@localhost var]# mkdir redis [root@localhost var]# cd redis [root@localhost redis]# mkdir data log run
(3)修改配置文件:
[root@localhost src]# cd /usr/local/src/redis-3.2.5/ [root@localhost redis-3.2.5]# cp redis.conf /etc/redis/ [root@localhost redis-3.2.5]# vim /etc/redis/redis.conf
一般修改以下参数:
#绑定的主机地址,这里是允许其他所有主机访问 bind 0.0.0.0 #端口 port 6379 #认证密码 requirepass admin #pid目录 pidfile /var/redis/run/redis_6379.pid #log存储目录 logfile /var/redis/log/redis.log #dump目录 dir /var/redis/data #Redis默认不是以守护进程的方式运行,可以通过该配置项修改,使用yes启用守护进程 daemonize yes
(4)rdb与aof:
默认rdb,可选择是否开启aof,若开启,修改配置文件appendonly
i)rdb的特性如下:
fork一个进程,遍历hash table,利用copy on write,把整个db dump保存下来。
save, shutdown, slave 命令会触发这个操作。
粒度比较大,如果save, shutdown, slave 之前crash了,则中间的操作没办法恢复。
save, shutdown, slave 命令会触发这个操作。
粒度比较大,如果save, shutdown, slave 之前crash了,则中间的操作没办法恢复。
ii)aof的特性如下:
把写操作指令,持续的写到一个类似日志文件里。(类似于从postgresql等数据库导出sql一样,只记录写操作)
粒度较小,crash之后,只有crash之前没有来得及做日志的操作没办法恢复。
粒度较小,crash之后,只有crash之前没有来得及做日志的操作没办法恢复。
两种区别就是,一个是持续的用日志记录写操作,crash后利用日志恢复;一个是平时写操作的时候不触发写,只有手动提交save命令,或者是关闭命令时,才触发备份操作。
选择的标准,就是看系统是愿意牺牲一些性能,换取更高的缓存一致性(aof),还是愿意写操作频繁的时候,不启用备份来换取更高的性能,待手动运行save的时候,再做备份(rdb)
注:更多参数设置请参考:http://www.redis.net.cn/tutorial/3504.html
(5)设置开机自启动:
[root@localhost redis-3.2.5]# cd /usr/local/src/redis-3.2.5/utils [root@localhost utils]# cp redis_init_script /etc/init.d/redis
修改部分参数为实际情况的配置,最后修改完成之后的脚本是:
#!/bin/sh # # Simple Redis init.d script conceived to work on Linux systems #chkconfig: 2345 55 25 #description: Starts,stops and restart the redis-server # as it does use of the /proc filesystem. REDISPORT=6379 EXEC=/usr/local/bin/redis-server CLIEXEC=/usr/local/bin/redis-cli PIDFILE=/var/redis/run/redis_${REDISPORT}.pid CONF="/etc/redis/redis.conf" PASS=`grep "requirepass " $CONF | awk {print'$2'}` case "$1" in start) if [ -f $PIDFILE ] then echo "$PIDFILE exists, process is already running or crashed" else echo "Starting Redis server..." $EXEC $CONF fi ;; stop) if [ ! -f $PIDFILE ] then echo "$PIDFILE does not exist, process is not running" else PID=$(cat $PIDFILE) echo "Stopping ..." if [ -z "$PASS" ] then $CLIEXEC -p $REDISPORT shutdown else $CLIEXEC -p $REDISPORT -a $PASS shutdown fi while [ -x /proc/${PID} ] do echo "Waiting for Redis to shutdown ..." sleep 1 done echo "Redis stopped" fi ;; *) echo "Please use start or stop as first argument" ;; esac
添加可执行权限并设置开机自启:
[root@localhost utils]# chmod a+x /etc/init.d/redis [root@localhost utils]# chkconfig redis on
(6)查看redis是否启动:
[root@localhost utils]# service redis start
[root@localhost ~]# redis-cli -a admin
或者:
[root@localhost bin]# redis-cli -h 127.0.0.1 -p 6379 -a admin
(7)测试设置与获取值:
127.0.0.1:6379> set hello "hi,redis" OK 127.0.0.1:6379> get hello "hi,redis"
转自:https://www.zifangsky.cn/823.html