centOS7 build redis
1.下载包
//进入到Xshell控制台(默认当前是root根目录),输入wget 将上面复制的下载链接粘贴上,如下命令:
wget http://download.redis.io/releases/redis-5.0.7.tar.gz
2.解压
tar -zvxf redis-5.0.7.tar.gz
3.移动redis目录
mv /root/redis-5.0.7 /usr/local/redis
cd /usr/local/redis
//cd 到/usr/local目录下输入ls命令可以查询到当前目录已经多了一个redis子目录,
//同时/root目录下已经没有redis-5.0.7文件夹
4.编译
make
5.安装
make PREFIX=/usr/local/redis install
//这里多了一个关键字 PREFIX= 这个关键字的作用是编译的时候用于指定程序存放的路径。
//比如我们现在就是指定了redis必须存放在/usr/local/redis目录。
//假设不添加该关键字Linux会将可执行文件存放在/usr/local/bin目录,
//库文件会存放在/usr/local/lib目录。配置文件会存放在/usr/local/etc目录。
//其他的资源文件会存放在usr/local/share目录。这里指定号目录也方便后续的卸载,
//后续直接rm -rf /usr/local/redis 即可删除redis。
6.启动redis
//在目录/usr/local/redis 输入下面命令启动redis
./bin/redis-server ./redis.conf
7.redis.conf配置文件
比较重要的配置项:
配置项名称 | 配置项值范围 | 说明 |
daemonize | yes、no | yes表示启用守护进程,默认是no即不以守护进程方式运行。其中Windows系统下不支持启用守护进程方式运行 |
port | 指定 Redis 监听端口,默认端口为 6379 | |
bind | 绑定的主机地址,如果需要设置远程访问则直接将这个属性备注下或者改为bind * 即可,这个属性和下面的protected-mode控制了是否可以远程访问 。 | |
protected-mode | yes 、no | 保护模式,该模式控制外部网是否可以连接redis服务,默认是yes,所以默认我们外网是无法访问的,如需外网连接rendis服务则需要将此属性改为no。 |
timeout | 300 | 当客户端闲置多长时间后关闭连接,如果指定为 0,表示关闭该功能 |
loglevel | debug、verbose、notice、warning | 日志级别,默认为 notice |
databases | 16 | 设置数据库的数量,默认的数据库是0。整个通过客户端工具可以看得到 |
rdbcompression | yes、no | 指定存储至本地数据库时是否压缩数据,默认为 yes,Redis 采用 LZF 压缩,如果为了节省 CPU 时间,可以关闭该选项,但会导致数据库文件变的巨大。 |
dbfilename | dump.rdb | 指定本地数据库文件名,默认值为 dump.rdb |
dir | 指定本地数据库存放目录 | |
requirepass | 设置 Redis 连接密码,如果配置了连接密码,客户端在连接 Redis 时需要通过 AUTH <password> 命令提供密码,默认关闭 | |
maxclients | 0 | 设置同一时间最大客户端连接数,默认无限制,Redis 可以同时打开的客户端连接数为 Redis 进程可以打开的最大文件描述符数,如果设置 maxclients 0,表示不作限制。当客户端连接数到达限制时,Redis 会关闭新的连接并向客户端返回 max number of clients reached 错误信息。 |
maxmemory | XXX <bytes> | 指定 Redis 最大内存限制,Redis 在启动时会把数据加载到内存中,达到最大内存后,Redis 会先尝试清除已到期或即将到期的 Key,当此方法处理 后,仍然到达最大内存设置,将无法再进行写入操作,但仍然可以进行读取操作。Redis 新的 vm 机制,会把 Key 存放内存,Value 会存放在 swap 区。配置项值范围列里XXX为数值。 |
8.开机启动
vim /etc/init.d/redis
#!/bin/sh # chkconfig: 2345 10 90 # description: Start and Stop redis PATH=/usr/local/redis/bin:/sbin:/usr/bin:/bin #找到本机安装redis后,存放redis命令的目录 REDISPORT=6379 #redis的默认端口, 要和下文中的redis.conf中一致 EXEC=/usr/local/redis/bin/redis-server #redis服务端的命令 REDIS_CLI=/usr/local/redis/bin/redis-cli #redis客户端的命令 这两个一般都在 PATH目录下 PIDFILE=/var/run/redis.pid #reids的进程文件生成的位置 CONF="/usr/local/redis/redis.conf" #redis的配置文件所在的目录 AUTH="123" #密码 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 sleep 2 while [ -x $PIDFILE ] do echo "Waiting for Redis to shutdown..." sleep 1 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