前一段时间写过一篇codis集群的文章,写那篇文章主要是因为当时的项目不支持redis自身集群的功能。
而现在最新的项目是需要redis集群的,这篇文章我们就来介绍下有关redis的安装与配置。
一、redis源码安装
截至到2016.8.11,redis最新稳定版本为3.2.3.本篇文章我们就以此版本为基础,进行相关的讲解。
下载redis源码,并进行相关操作,如下:
wget http://download.redis.io/releases/redis-3.2.3.tar.gz
tar -zxvf redis-3.2.3.tar.gz
mv redis-3.2.3 redis
解压完毕后,现在开始安装,如下:
cd redis
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。
现在我们要使用 systemd,所以在 /etc/systems/system
下创建一个单位文件名字为 redis_6379.service
。
vi/etc/systemd/system/redis_6379.service
填写下面的内容,详情可见 systemd.service。
[Unit]
Description=Redis on port 6379
[Service]
Type=forking
ExecStart=/etc/init.d/redis_6379 start
ExecStop=/etc/init.d/redis_6379 stop
[Install]
WantedBy=multi-user.target
现在来查看redis版本使用redis-cli –version命令,如下:
redis-cli –version
通过上图,我们可以看到redis版本是3.2.3。
现在我们只要启动redis就可以使用redis了,到此源码方式安装redis就介绍完毕。
二、yum方式安装
源码安装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版本。
现在我们只要启动redis就可以使用redis了,到此yum方式安装redis就介绍完毕。
三、apt-get方式安装
yum方式安装redis介绍完毕后,我们现在来介绍下ubuntu14.04下通过apt-get方式安装redis。
根据安装redis版本的新旧,我们又进行了区分。
3.1 apt-get安装最新版本
先来介绍下安装最新版本的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的版本是3.2.3,最新版本。当然我们也可以通过redis-cli –version命令进行查看。如下:
redis-cli –version
通过上图,我们可以看到目前这种方式安装的redis是最新的版本。
3.2 apt-get非最新版本
上一章节我们使用的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是3.0.7版本,不是最新版本。
以上方式,我们也可以通过直接添加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配置文件是非常完整的。
考虑到安全性,我们只需要启用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配置文件配置完毕后,我们来启动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这个键值的内容。
redis的命令使用暂时我们就介绍这么多。