操作系统:redhat6.5 64位
安装用户:root
软件环境:安装有make和gcc
配置文件路径:/etc/redis.conf
安装步骤:
1.下载安装包redis-2.8.12.tar.gz。例如安装包在/home/root/中
2.拷贝安装包到/usr/local/
命令:cp /home/root/redis-2.8.12.tar.gz /usr/local
3.进入到/usr/local目录
命令:cd /usr/local
4.解压安装包
命令:tar -xzf redis-2.8.12.tar.gz 解压后会出现redis-2.8.12目录
5.进入redis-2.8.12目录
命令:cd redis-2.8.12
6.编译程序
命令:make CFLAGS="-march=x86-64"
7.编译成功后安装程序
命令:make install
8.设置为后台服务,修改redis-2.8.16根目录下的配置文件redis.conf,把daemonizeon该为
daemonize yes。
命令:vi redis.conf 用方向键找到daemonize然后修改
9.启动服务
命令:redis-server /usr/local/redis-2.8.16/redis.conf
10.客户端测试
命令:redis-cli 如果启动成功会连接到服务,出现
127.0.0.1:6379>
输入set name test 回车后显示ok
在输入get name 回车后显示 “test”
至此redis服务安装成功
设置开机自启动
1.把配置文件redis.conf拷贝到/etc/中
命令:cp /usr/local/redis-2.8.16/redis.conf /etc/
2.建立名字为redis的文件
3.内容为
#chkconfig: 2345 10 90
#description: Start and Stop redis
PATH=/usr/local/bin:/sbin:/usr/bin:/bin
REDISPORT=6379
EXEC=/usr/local/bin/redis-server
REDIS_CLI=/usr/local/bin/redis-cli
PIDFILE=/var/run/redis.pid
CONF="/etc/redis.conf"
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
if ["$?"="0" ]
then
echo"Redis is running..."
fi
;;
stop)
if [ !-f $PIDFILE ]
then
echo"$PIDFILE exists, process is not running."
else
PID=$(cat$PIDFILE)
echo"Stopping..."
$REDIS_CLI-p $REDISPORT SHUTDOWN
while[ -x $PIDFILE ]
do
echo"Waiting for Redis to shutdown..."
sleep1
done
echo"Redis stopped"
fi
;;
restart|force-reload)
${0}stop
${0}start
;;
*)
echo"Usage: /etc/init.d/redis {start|stop|restart|force-reload}">&2
exit 1
esac
4.该文件拷贝到/etc/init.d/中
命令:cp redis /etc/init.d/redis
5.赋予执行权限
命令:chmod +x /etc/init.d/redis
6.作为服务启动
命令:chkconfig redis on
7.测试服务脚本的可用性,
启动命令 service redis start
关闭命令:service redis stop
配置文件说明:
成功安装Redis后,直接执行redis-server即可运行Redis,但是它是按照默认配置来运行的,默认配置不支持后台运行。
redis.conf的主要配置参数的意义如下:
daemonize:是否以后台daemon方式运行
pidfile:pid文件位置
port:监听的端口号
timeout:请求超时时间
loglevel:log信息级别
logfile:log文件位置
databases:开启数据库的数量
save * *:保存快照的频率,第一个*表示多长时间,第二个*表示执行多少次写操作。在一定时间内执行一定数量的写操作时,自动保存快照。可设置多个条件。
rdbcompression:是否使用压缩
dbfilename:数据快照文件名(只是文件名,不包括目录)
dir:数据快照的保存目录(这个是目录)
appendonly:是否开启appendonlylog,开启的话每次写操作会记一条log,这会提高数据抗风险能力,但影响效率。
appendfsync:appendonlylog如何同步到磁盘(三个选项,分别是每次写都强制调用fsync、每秒启用一次fsync、不调用fsync等待系统自己同步)
下面是一个略做修改后的配置文件内容:
daemonize yes
pidfile /usr/local/redis/var/redis.pid
port 6379
timeout 300
loglevel debug
logfile /usr/local/redis/var/redis.log
databases 16
save 900 1
save 300 10
save 60 10000
rdbcompression yes
dbfilename dump.rdb
dir /usr/local/redis/var/
appendonly no
appendfsync always
glueoutputbuf yes
shareobjects no
shareobjectspoolsize 1024