一. Redis概述
redis
即为远程服务字典,持久化日志型KV
数据库
Redis能干嘛?
- 内存持久化
- 效率高,可以用于高速缓存
- 发布订阅系统、用于地图分析之类的
二. Redis下载
三. Linux安装配置Redis
安装gcc
,查看版本
sudo apt-get install gcc-7
gcc --version
进入下载的Redis
目录,这里我们将其放在了/opt
目录下。进行Redis
的安装,可能时间比较长
# 切换目录
cd /opt
# 解压
tar -xzvf redis-7.0.4.tar.gz
# 进入安装目录
cd redis-7.0.4
# 安装
make
make install
安装完毕,Redis
的默认安装路径是/usr/local/bin
# 切换目录
cd /usr/local/bin
# 创建我们配置文件的启动目录
sudo mkdir myRedisConfig
# 移动配置文件位置到我们自定义的目录下
sudo cp /opt/redis-7.0.4/redis.conf myRedisConfig
注意这个地方很重要,如果你不创建用来存储关闭数据库的文件夹,那么后续很有可能因为用户或者文件夹权限不够,导致无法关闭redis
创建文件夹,用来保存关闭的Redis
# 这里我们还是在/usr/local/bin目录下
# 生成关闭时的存储文件夹
sudo mkdir myRedisDump
# 赋予权限
sudo chmod -R 777 myRedisDump
编辑配置文件
sudo vi redis.conf
找到daemonize
参数,将其设置为yes
,表示允许后台启动
找到dir
参数,添加设置我们自己创建的关闭目录
dir /usr/local/bin/myRedisDump
保存,退出文件
四. 启动Redis
切换为上级目录(/usr/local/bin
),启动服务
redis-server myRedisConfig/redis.conf
如果这里会出现警告
WARNING Memory overcommit must be enabled! Without it, a background save or replication may fail under low memory condition. Being disabled, it can also cause failures without low memory condition, see https://github.com/jemalloc/jemalloc/issues/1328. 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.
表示的是内存过度分配问题,我们通过如下方式解决
首先编辑配置文件vi /etc/sysctl.conf
,添加以下内容
vm.overcommit_memory = 1
保存文件后,进行刷新
sysctl -p
再次尝试启动服务
redis-server myRedisConfig/redis.conf
测试连接
redis-cli -p 6379
如果可以显示pong
,即表示配置成功
五. 关闭Redis
# 关闭
shutdown
# 退出
exit
查看进程,确定已经退出Redis
ps -ef|grep redis