1. 下载网址:https://redis.io/
http://download.redis.io/releases/redis-5.0.5.tar.gz
2. 查看是否已安装依赖包gcc
#rpm -qa|grep gcc
gcc-c++-4.8.5-36.el7_6.2.x86_64
libgcc-4.8.5-36.el7_6.2.x86_64
gcc-4.8.5-36.el7_6.2.x86_64
3. 在/opt/目录下解压
# tar zxvf redis-5.0.5.tar.gz
4. 编译源码
# cd redis-5.0.5/
# make
如果报错:
cc: ../deps/jemalloc/lib/libjemalloc.a: No such file or directory
执行yum install jemalloc
再执行,如果还报错
重新编译清理
make distclean && make
导致出现这个错误的原因,错误的本质是我们在开始执行make 时遇到了错误(大部分是由于gcc未安装),然后我们安装好了gcc 后,我们再执行make ,这时就出现了jemalloc/jemalloc.h: No such file or directory。这是因为上次的编译失败,有残留的文件,我们需要清理下,然后重新编译就可以了。
(执行make MALLOC=libc,使用这种方法虽然也能成功安装redis,但是是有一些隐患的,首先我们要知道redis 需要使用内存分配器的, make MALLOC=jemalloc 就是指定内存分配器为 jemalloc ,make MALLOC=libc 就是指定内存分配器为 libc ,这个是有安全隐患的,jemalloc 内存分配器在实践中处理内存碎片是要比libc 好的,而且在README.md 文档也说明到了,jemalloc内存分配器也是包含在源码包里面的,可以在deps 目录下看到 jemalloc 目录)
5. 安装
# make install PREFIX=/usr/local/redis
cd /usr/local/redis/bin
redis-benchmark redis性能测试工具
redis-check-aof AOF文件修复工具
redis-check-rdb RDB文件修复工具
redis-cli redis命令行客户端
redis.conf redis配置文件
redis-sentinal redis集群管理工具
redis-server redis服务进程
6. 启动Redis
6.1 前端模式启动
#/usr/local/redis/bin/redis-server
或
#cd /usr/local/redis/bin
#./redis-server
前端模式启动的缺点是ssh命令窗口关闭,则redis-server程序结束,不推荐使用此方法。
前端启动的关闭 ctrl + c
6.2 后端模式启动
1)复制redis.conf
# cp /opt/redis-5.0.5/redis.conf /usr/local/redis/bin/
2)修改redis.conf
#vim /usr/local/redis/bin/redis.conf
找到 daemonize 按i 进入编辑模式 把no 改为 yes
启动redis
#cd /usr/local/redis/bin
#./redis-server redis.conf
查看是否启动成功
#ps aux|grep redis
redis默认端口为 6379,可更改redis.conf文件,修改端口号
#ps -ef|grep redis
#lsof -i :6379
后端启动的关闭
#kill 18061
#pkill redis-server
或
#./redis-cli shutdown
强行终止redis进程可能会导致redis持久化数据丢失,正确停止Redis的方式应该是向Redis发送SHUTDOWN命令
7. 连接redis
修改redis.conf,在bind 127.0.0.1 后添加本机的ip地址
# vi redis.conf
bind 127.0.0.1 192.168.19.11
或
protected-mode no
开启protected-mode保护模式,需配置bind ip或者设置访问密码
关闭protected-mode模式,此时外部网络可以直接访问
8.设置密码
vi redis.conf
修改 requirepass foobared 去掉注释之间不留空格,并把foobared 改为自己的密码