Linux安装使用Redis
发表于|更新于
可能需要的条件
由于redis是C语言开发的,安装redis之前,需要先下载gcc
注意:Centos 7默认gcc版本为4.8,有时需要更高版本的,这里以升级至9.3.1版本为例,
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| # 分别执行下面三条命令即可,无需手动下载源码编译
# 1、安装centos-release-scl sudo yum install centos-release-scl
# 2、安装devtoolset,注意,如果想安装7版本的,就改成devtoolset-7-gcc,以此类推 sudo yum install devtoolset-9-gcc*
# 3、激活对应的devtoolset,所以你可以一次安装多个版本的devtoolset,需要的时候用下面这条命令切换到对应的版本 scl enable devtoolset-9 bash
# 4、大功告成,查看一下gcc版本 gcc -v
# 也可能直接用这个就行 yum install -y gcc tcl
|
准备好目录
1 2 3
| cd /opt #进入opt目录 mkdir redis #创建redis目录 cd /opt/redis
|
下载
redis官网下载:
Redis下载页面
稳定版下载网址:https://download.redis.io/redis-stable.tar.gz
在Linux直接下载方法
1
| wget https://download.redis.io/redis-stable.tar.gz
|
或者在其他设备下载好后传过来
解压、编译
1 2 3
| tar xzf redis-stable.tar.gz cd redis-stable make
|
安装到指定目录
1 2 3 4 5 6
| # 使用默认安装目录,redis默认的安装路径是在 /usr/local/bin目录下: # 该目录以及默认配置到环境变量,因此可以在任意目录下运行这些命令 make install
# 指定安装目录 make PREFIX=/usr/local/redis install
|
配置文件
在解压出来的目录中,有一个 redis.conf 配置文件
主要能修改的有
1 2 3 4 5 6 7 8 9 10
| # 允许访问的地址,默认是127.0.0.1,会导致只能在本地访问。修改为0.0.0.0则可以在任意IP访问,生产环境不要设置为0.0.0.0 bind 0.0.0.0
# 守护进程,修改为yes后即可后台运行 daemonize yes # 后台运行想要关闭,可以通过redis-cli登入,执行shutdown命令
# 密码,设置后访问Redis必须输入密码 requirepass 123321
|
服务端启动
在安装目录下,有多个可执行文件,主要是
- redis-cli:是redis提供的命令行客户端
- redis-server:是redis的服务端启动脚本
- redis-sentinel:是redis的哨兵启动脚本
1 2 3 4 5
| # 默认配置启动 redis-server
#指定配置文件启动 redis-server /opt/redis/redis-stable/redis.conf
|
开机自启
新建系统服务文件
1
| vi /etc/systemd/system/redis.service
|
内容如下
1 2 3 4 5 6 7 8 9 10 11
| [Unit] Description=redis-server After=network.target
[Service] Type=forking ExecStart=/usr/local/bin/redis-server /opt/redis/redis-stable/redis.conf PrivateTmp=true
[Install] WantedBy=multi-user.target
|
然后重载系统服务
现在,我们可以用下面这组命令来操作redis了:
1 2 3 4 5 6 7 8
| # 启动 systemctl start redis # 停止 systemctl stop redis # 重启 systemctl restart redis # 查看状态 systemctl status redis
|
执行下面的命令,可以让redis开机自启:
客户端
1 2 3 4 5 6 7
| # 连接本机redis redis-cli
# 连接指定主机指定端口的redis,并使用指定密码 redis-cli -h 127.0.0.1 -p 6379 -a mypassword # 密码可以不指定,连接上后,使用如下命令认证 AUTH mypassword
|