redis 是目前比较流行的key-value数据存储系统,数据会存在内存中,与memcached不同的是会周期性的将数据落地到磁盘中。

redis的安装过程:

从redis官网下载3.2.3:http://download.redis.io/releases/redis-3.2.3.tar.gz

解压出来的目录如下:

yum install redis 安装到那了 redis安装在linux哪个目录_redis


由于 redis的makefile 已经写好,因此只要编译即可,在当前目录下make

你可能会遇到:

yum install redis 安装到那了 redis安装在linux哪个目录_redis安全_02


需要在安装目录父目录里执行: chmod 777 * -R


另外,你可能会因为没有安装jemalloc,导致以下问题:

yum install redis 安装到那了 redis安装在linux哪个目录_redis_03


因为redis在内存分配上默认用的是jmelloc, 因为jmelloc对碎片管理上比glibc的要好,看下图必性能对比:

yum install redis 安装到那了 redis安装在linux哪个目录_redis_04


解决此问题有两个方法:

1.不使用 jemalloc, 使用glibc, 编译命令: make MALLOC=libc

2.安装jmelloc,安装方法下篇文章祥述。


安装过程中,界面上会显示一些警告:

yum install redis 安装到那了 redis安装在linux哪个目录_linux_05


这是作者需要管的事情,不去理它。


此时进入src目录,认真看会发现多了几个文件:

yum install redis 安装到那了 redis安装在linux哪个目录_redis安装_06


这就是我们编译生成的文件,当然也可以在编译生成的文件拷出来:

 make install PREFIX=/usr/local/redis/

上面有/usr/local/redis是我想要的执行目录,可以改成你希望生成的目录。


现在进/usr/local/redis,会发现多了个bin目录:

yum install redis 安装到那了 redis安装在linux哪个目录_redis_07

进入bin目录发现有了运行程序:

yum install redis 安装到那了 redis安装在linux哪个目录_linux_08


此时已经可以运行redis的服务端程序了, 输入 ./redis-server &:

yum install redis 安装到那了 redis安装在linux哪个目录_linux_09


按一下回车即可监听到服务程序的运行状态:


yum install redis 安装到那了 redis安装在linux哪个目录_redis安全_10

不过想要可配,还需要redis.conf,安装目录里有。由于习惯,我会将redis.conf拷到/usr/local/redis/conf下:

yum install redis 安装到那了 redis安装在linux哪个目录_redis使用_11


修改此redis.conf:

yum install redis 安装到那了 redis安装在linux哪个目录_redis安全_12


将此处的no 改为yes,即可实现后台运行:

关掉刚才已经运行的redis-server:

killall -9 redis-server

yum install redis 安装到那了 redis安装在linux哪个目录_redis_13


现在可按配置运行我们的程序了:

/usr/local/redis/bin/redis-server /usr/local/redis/conf/redis.conf 

yum install redis 安装到那了 redis安装在linux哪个目录_redis安装_14


我们试试用终端redis-cli访问:

yum install redis 安装到那了 redis安装在linux哪个目录_redis_15


成功连上。


我们知道缓存服务的安全性很高,所以授权就很重要,下面我们来看看redis如何设置密码。

在redis.conf 里找到requirepass这一行:

yum install redis 安装到那了 redis安装在linux哪个目录_redis使用_16


修改为(注意requirepass 前面的#号去掉)

yum install redis 安装到那了 redis安装在linux哪个目录_linux_17

保存后重启redis-server:

killall -9 redis-server

/usr/local/redis/bin/redis-server /usr/local/redis/conf/redis.conf

yum install redis 安装到那了 redis安装在linux哪个目录_redis安全_18

再来重连试试:

yum install redis 安装到那了 redis安装在linux哪个目录_linux_19

输入auth xiaofei再试试:

yum install redis 安装到那了 redis安装在linux哪个目录_linux_20


密钥授权已经实现了,不过个人觉得redis的安全策略不算很高明,可以用iptables对端口管理来实现访问控制。