截至到2016.8.11,redis最新稳定版本为3.2.3.本篇文章我们就以此版本为基础,进行相关的讲解。
下载redis源码,并进行相关操作,如下:
wget http://download.redis.io/releases/redis-3.2.8.tar.gz
tar -zxvf redis-3.2.8.tar.gz
解压完毕后,现在开始安装,如下:
cd redis-3.2.8
make && make install
可以看出,redis安装到/usr/local,/usr/local/bin,/usr/local/share,/usr/local/include,/usr/local/lib,/usr/local/share/man目录下。
然后再切换到utils目录下,执行redis初始化脚本install_server.sh,如下:
cd utils/
./install_server.sh
Port : 6379
Config file : /etc/redis/6379.conf
Log file : /var/log/redis_6379.log
Data dir : /var/lib/redis/6379
Executable : /usr/local/bin/redis-server
Cli Executable : /usr/local/bin/redis-cli
Copied /tmp/6379.conf => /etc/init.d/redis_6379
可以看出redis初始化后redis配置文件为/etc/redis/6379.conf,日志文件为/var/log/redis_6379.log,数据文件dump.rdb存放到/var/lib/redis/6379目录下,启动脚本为/etc/init.d/redis_6379。
现在来查看redis版本使用redis-cli --version命令,如下:
redis-cli --version
可以看到redis版本是3.2.8。
现在我们只要启动redis就可以使用redis了(ps aux|grep redis-server查看服务是否启动),脚本已经添加redis到chkconfig自启,通过chkconfig --list可查看到,有些版本没有自启也可把启动redis命令加入/etc/rc.local文件中实现开机启动,到此源码方式安装redis就介绍完毕。
源码安装redis介绍完毕后,我们再来通过yum方式安装redis,本文是以centos6.8为例。使用如下命令:
rpm -Uvh http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
yum -y --enablerepo=remi,remi-test install redis
redis安装完毕后,我们来查看下redis安装时创建的相关文件,如下:
rpm -qa |grep redis
rpm -ql redis
可以看出redis的配置文件是/etc/redis.conf,数据文件dump.rdb存放到/var/lib/redis/目录下,日志文件为 /var/log/redis/redis.log(注意给写权限),其他的都是默认的。
现在来查看redis版本使用redis-cli --version命令,如下:
redis-cli --version
可以看到yum方式安装的确实是最新的redis版本。
现在我们只要运行命令service redis start启动redis就可以使用redis了(ps aux|grep redis-server查看服务是否启动),到此yum方式安装redis就介绍完毕。
chkconfig redis on开机自启动
yum方式安装redis介绍完毕后,我们现在来介绍下ubuntu14.04下通过apt-get方式安装redis。
根据安装redis版本的新旧,我们又进行了区分。
先来介绍下安装最新版本的redis,首先要导入apt-get仓库验证密钥,如下:
wget -q -O - http://www.dotdeb.org/dotdeb.gpg | sudo apt-key add -
或者
wget http://www.dotdeb.org/dotdeb.gpg
sudo apt-key add dotdeb.gpg
验证文件安装完毕后,我们再来配置apt-get仓库,如下:
vim /etc/apt/sources.list.d/redis.list
deb http://packages.dotdeb.org wheezy all
deb-src http://packages.dotdeb.org wheezy all
注意:这个apt-get仓库,我们使用的是debian的apt-get仓库,因为经过多次测试发现只有使用这个apt-get仓库才能安装到最新的redis版本。
apt-get仓库配置完毕后,我们现在来开始执行如下命令进行安装:
sudo apt-get clean all
sudo apt-get update
sudo apt-get -y install redis-server
可以很明显的看出redis的版本是最新版本。当然我们也可以通过redis-cli --version命令进行查看。如下:
redis-cli --version
可以看到目前这种方式安装的redis是最新的版本。
上一章节我们使用的debian的apt-get仓库,安装的是redis最新版本,那么我们再来使用比较常见的PPA仓库安装redis看看。
相关命令如下:
sudo apt-get -y install python-software-properties software-properties-common
sudo add-apt-repository -y ppa:chris-lea/redis-server
sudo apt-get clean all
sudo apt-get update
sudo apt-get -y install redis-server
redis-cli --version
可以很明显的看出这样安装的redis不是最新版本。
以上方式,我们也可以通过直接添加apt-get仓库达到目的,因为sudo add-apt-repository -y ppa:chris-lea/redis-server这条命令其实就是在添加一个apt-get仓库。如下:
cat /etc/apt/sources.list.d/chris-lea-redis-server-trusty.list
添加apt-get仓库,使用如下命令:
vim /etc/apt/sources.list.d/redis.list
deb http://ppa.launchpad.net/chris-lea/redis-server/ubuntu trusty main
deb-src http://ppa.launchpad.net/chris-lea/redis-server/ubuntu trusty main
然后再执行如下命令进行安装就ok了:
sudo apt-get clean all
sudo apt-get update
sudo apt-get -y install redis-server
到此通过apt-get方式安装redis就已经全部结束。
redis安装完毕之后,我们再来配置redis。其实有关redis的安装,我这边的建议是直接通过源码进行安装。因为安装完毕后,redis配置文件是非常完整的。
考虑到安全性,我们只需要启用redis的密码验证功能requirepass参数即可。
最终redis配置文件如下:
grep -Ev '^#|^$' /etc/redis/6379.conf
bind 127.0.0.1
protected-mode yes
port 6379
tcp-backlog 511
timeout 0
tcp-keepalive 300
daemonize yes
supervised no
pidfile /var/run/redis_6379.pid
loglevel notice
logfile /var/log/redis_6379.log
databases 16
save 900 1
save 300 10
save 60 10000
stop-writes-on-bgsave-error yes
rdbcompression yes
rdbchecksum yes
dbfilename dump.rdb
dir /var/lib/redis/6379
slave-serve-stale-data yes
slave-read-only yes
repl-diskless-sync no
repl-diskless-sync-delay 5
repl-disable-tcp-nodelay no
slave-priority 100
requirepass ilanniredis
appendonly no
appendfilename "appendonly.aof"
appendfsync everysec
no-appendfsync-on-rewrite no
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
aof-load-truncated yes
lua-time-limit 5000
slowlog-log-slower-than 10000
slowlog-max-len 128
latency-monitor-threshold 0
notify-keyspace-events ""
hash-max-ziplist-entries 512
hash-max-ziplist-value 64
list-max-ziplist-size -2
list-compress-depth 0
set-max-intset-entries 512
zset-max-ziplist-entries 128
zset-max-ziplist-value 64
hll-sparse-max-bytes 3000
activerehashing yes
client-output-buffer-limit normal 0 0 0
client-output-buffer-limit slave 256mb 64mb 60
client-output-buffer-limit pubsub 32mb 8mb 60
hz 10
aof-rewrite-incremental-fsync yes
redis配置文件配置完毕后,我们来启动redis并进行简单的操作。如下:
redis-cli -h 127.0.0.1 -p 6379 -a ilanniredis
keys *
set ilanni testredis
get ilanni
我们来稍微讲解下以上命令的意思:
redis-cli -h 127.0.0.1 -p 6379 -a ilanniredis
这条命令是说要连接redis服务器,IP是127.0.0.1,端口是6379,密码是ilanniredis。
keys *是查看redis所有的键值对。
set ilanni testredis添加一个键值ilanni,内容为testredis。
get ilanni查看ilanni这个键值的内容。