简介
Redis,全称 Remote Dictionary Server(远程字典服务器),是一个以ANSI C语言开发的,开源的,支持网络,可基于内存也可持久化的,Key-Value数据库,高性能的(key/value)分布式内存的数据库。是当前最热门的NoSQL数据库之一。
鉴于3.0.x版本之前的版本性能和存在一些问题等原因,不推荐用3.0.x之前的版本。
特点
- Redis既可基于内存,也支持数据的持久化,也可以支持网络。
- Redis支持多种数据类型,除了常用的key - value类型的数据,同时还提供list、set、zset、hash等数据结构的存储。
- Redis支持数据的备份,即master-slave(主从)同步。
环境准备
1.Redis6.0.3: http://download.redis.io/releases/redis-6.0.3.tar.gz
2.Contos 7
安装
1.Redis编译安装需要gcc5.3以上,首先输入 gcc -v 查看当前版本。如果没安装我们输入 yum install -y gcc 安装
gcc -v
yum install -y gcc
2.这边默认安装的是4.8.5版本,还不符合要求,所以要升级一下。我们这边把它升到9+
yum -y install centos-release-scl
yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils
#scl命令启用只是临时的,新开的会话默认还是原gcc版本。
scl enable devtoolset-9 bash
#如果要长期使用gcc 9.1的话执行下面的命令即可:
echo -e "\nsource /opt/rh/devtoolset-9/enable" >>/etc/profile
3.下载Redis6.0.3
wget http://download.redis.io/releases/redis-6.0.3.tar.gz
4.解压Redis6.0.3
tar -zxvf redis-6.0.3.tar.gz
5.编译Redis6.0.3
# 进入目录
cd redis-6.0.3/
# 编译redis源码
make
# 安装redis到本地(由于make仅仅是编译出可执行文件,但是我们需要把redis安装成本地服务)
make install PREFIX=/opt/local/redis6
6.测试安装
# 先下载tcl make test需要
yum install tcl -y
#测试(校验各个组件是否正常运行)
make test
6.配置文件修改(redis.conf)
#daemonize no 改为yes,开启后台运行,默认是前台运行
daemonize yes
#把这一行注释,监听所有IP
# 默认是本机能访问该redis,比如这行不注释掉,那么比如在阿里云安装了redis,本地不能访问,也可以把对应服务器的IP加入,空格分隔
#bind 127.0.0.1
#protected-mode yes 如果改为no,则是关闭保护模式,这种模式下不能配置系统服务,建议还是开启(线上生产环境一定要改成yes)
protected-mode yes
#requirpass,保护模式开启的时候要配置密码或者bind ip
requirepass 123456
#修改本参数,指定数据目录
dir /opt/local/redis6/data
#修改本参数,指定日志目录
logfile /opt/local/redis6/redis_6379.log
7.添加环境变量
# 在/etc/profile文件末尾追加
vim /etc/profile
export REDIS_HOME=/opt/local/redis6
export PATH=$PATH:$REDIS_HOME/bin
source /etc/profile
8.添加环境变量
开机自启
1.注册服务:
vim /lib/systemd/system/redis.service
# 加入
[Unit]
Description=Redis
After=network.target
[Service]
Type=forking
PIDFile=/var/run/redis_6379.pid
ExecStart=/opt/local/redis6/bin/redis-server /opt/local/redis6/bin/redis.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target
2.使用systemctl命令:
# 重载服务
systemctl daemon-reload
# 开机自启
systemctl enable redis
# 启动
systemctl start redis
# 关闭开机启动
systemctl disable redis
# 重启
systemctl restart redis
# 停止
systemctl stop redis
# 查看状态
systemctl status redis