介绍

Redis 是一个高性能的key-value数据库。 redis的出现,很大程度补偿了memcached这类key/value存储的不足,在部分场合可以对关系数据库起到很好的补充作用。它提供了Java,C/C++,C#,PHP,JavaScript,Perl,Object-C,Python,Ruby,Erlang等客户端,使用很方便。redis官网有支持linux版本的下载。

redis官网:https://redis.io/

redis不同版本号下载:http://download.redis.io/releases/

安装部署

安装部署演示为centos7安装redis6.0.8版本。

1.安装gcc依赖

先检查是否安装有gcc环境依赖。 gcc -v 如果未安装则输入如下指令安装: yum install -y gcc

2.上传安装包

通过地址下载安装包然后通过Xshell拖拽上传或者wget指令下载。

3.拷贝备份并移动到安装目录

/usr/local/src是备份的目录,自行修改。 cp redis-6.0.8.tar.gz /usr/local/src 拷贝到安装目录: cp redis-6.0.8.tar.gz /usr/local

4.解压安装包

cd /usr/local tar -zxvf redis-6.0.8.tar.gz 解压完成进行删除。 rm -f redis-6.0.8.tar.gz

命令

指令

tar

备份文件

-z

通过gzip指令处理备份文件

-x

从备份文件中还原文件

-v

显示指令执行过程

-f

指定备份文件

jdk-8u202-linux-x64.tar.gz

文件名

5.升级gcc版本

centos7默认安装的gcc版本为4.8.5,redis6需要5.3以上,不升级gcc会导致编译报错。 cd redis-6.0.8

升级到gcc 9.3:
yum -y install centos-release-scl
yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils
scl enable devtoolset-9 bash
需要注意的是scl命令启用只是临时的,退出shell或重启就会恢复原系统gcc版本。
如果要长期使用gcc 9.3的话:

echo "source /opt/rh/devtoolset-9/enable" >>/etc/profile
这样退出shell重新打开就是新版的gcc了
以下其他版本同理,修改devtoolset版本号即可。

编译出错其他命令参考:

# 编译出错时,清出编译生成的文件
make distclean
# 编译安装到指定目录下
make PREFIX=/usr/local/redis install 
# 卸载
make uninstall

6.执行编译

make

7.安装

指定一个目录进行安装(安装完成后编译的文件夹是可以删除的,别删除安装的文件夹就行,卸载就是删除安装的文件夹)。 make install PREFIX=/usr/local/redis

8.启动测试

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

9.后台启动

从源码中复制redis.conf到redis的配置文件目录 mkdir /usr/local/redis/conf/cp /usr/local/redis-6.0.8/redis.conf /usr/local/redis/conf/cd /usr/local/redis/conf/vim redis.conf 1)开启守护线程 输入如下命令搜索关键字: /daemonize 把 daemonize no 改为 daemonize yes: 2)修改监听的ip为全局ip-根据实际需求配置 输入如下命令搜索关键字: /bind 把bind 127.0.0.1这行注释掉 3)设置redis密码-根据实际需求配置 输入如下命令搜索关键字: /requirepass 把#删除在requirepass后面隔一个空格输入redis密码 4)保存设置 按i修改esc退出修改:wq保存退出。

10.设置服务脚本

创建新的redis.service文件: vim /etc/systemd/system/redis.service 添加如下内容:

[Unit]
Description=redis-server
After=network.target

[Service]
Type=forking
ExecStart=/usr/local/redis/bin/redis-server /usr/local/redis/conf/redis.conf
PrivateTmp=true

[Install]
WantedBy=multi-user.target

11.服务启动并设置自启

# 重载systemctl的配置
systemctl daemon-reload
# 启动redis
systemctl start redis.service
# 开启redis自启
systemctl enable redis.service

执行如下命令查看是否已经加入自启服务列表: systemctl is-enabled redis 返回enabled即已经开启自启

12.各类服务操作命令

systemctl start redis.service   #启动redis服务
systemctl stop redis.service   #停止redis服务
systemctl restart redis.service   #重新启动服务
systemctl status redis.service   #查看服务当前状态
systemctl enable redis.service   #设置开机自启动
systemctl disable redis.service   #停止开机自启动

开启远程访问

1.开放端口

firewall-cmd --permanent --add-port=6379/tcp 重启防火墙: firewall-cmd --reload 查看端口是否开放: firewall-cmd --query-port=6379/tcp

2.修改配置文件

vim /usr/local/redis/bin/redis.conf 使用/搜索; 找到bind 127.0.0.1,把这行前面加个#注释掉; 再查找protected-mode yes 把yes修改为no,这个是保护模式关闭,然后wq保存。

3.重启服务

systemctl restart redis.service

4.测试

可以使用windows的RedisDesktopManager Redis连接可视化软件进行测试。