源码编译安装Redis4.X

下载

1
wget http://download.redis.io/releases/redis-4.0.9.tar.gz

解压

1
tar xzf redis-4.0.9.tar.gz

进入文件夹

1
cd redis-4.0.9

编译依赖 GCC

1
2
3
gcc -v

yum install gcc-c++

编译

1
make

启动

1
2
启动服务端:src/redis-server
启动客户端:src/redis-cli

默认是本地访问的,需要开放外网访问

1
2
3
打开redis.conf文件在NETWORK部分修改
注释掉bind 127.0.0.1可以使所有的ip访问redis
修改 protected-mode,值改为no

WARNING 解决方案

WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.

/etc/rc.local 目录下新增以下代码

1
echo 511 > /proc/sys/net/core/somaxconn

WARNING: overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add ‘vm.overcommit_memory = 1’ to/etc/sysctl.conf and then reboot or run the command ‘sysctl vm.overcommit_memory=1’ for this to take effect.

/etc/sysctl.conf 目录下新增以下代码

1
vm.overcommit_memory = 1

WARNING: you have Transparent Huge Pages (THP) support enabled in your kernel. This will create latency and memory usage issues with Redis. To fix thisissue run the command ‘echo never > /sys/kernel/mm/transparent_hugepage/enabled’ as root, and add it to your /etc/rc.local in order to retain thesetting after a reboot. Redis must be restarted after THP is disabled.

/etc/rc.local 目录下新增以下代码

1
echo never > /sys/kernel/mm/transparent_hugepage/enabled

内核立即生效

1
sudo sysctl -p

设置密码

1
2
3
4
$redis-cli


config set requirepass {password}