redis源码编译安装,常见配置,开机自启动,备份策略

安装

yum install gcc-c++
gcc -v
# 默认 4.8.5

wget http://download.redis.io/releases/redis-6.0.8.tar.gz
tar -xvf redis-6.0.8.tar.gz
## 升级 gcc 版本
make  distclean
yum  -y  install  centos-release-scl
yum  -y  install  devtoolset-9-gcc  devtoolset-9-gcc-c++  devtoolset-9-binutils

## -------环境设置----------
#临时有效,退出 shell 或重启会恢复原 gcc 版本
scl enable devtoolset-9 bash

#长期有效
echo "source /opt/rh/devtoolset-9/enable" >>/etc/profile

make
make install
## 默认安装路径 /usr/local/bin

## 或者 指定安装前缀
make install PREFIX=/usr/local/redis
cd /usr/local/redis/bin
mkdir conf
cp /root/redis-6.0.8/redis.conf ./conf

## 指定后台启动 
vim conf/redis.conf

## 修改 
daemonize yes

./redis-server conf/redis.conf

./redis-cli -p 6379

ping

## 公网ip 可访问
# 注释掉bind

## 启动端口
port 30128
## 密码
requirepass xxxx

## 重启  
## 1.redis-cli 开操作
redis-cli -h 127.0.0.1 -p 6379 shutdown
## 2.kill 掉进程
ps -ef | grep redis

## 有密码 登录后
auth <mypassword>

设置开机自启动

方法一 通过 install_server.sh

## 方法一 通过 install_server.sh 在源码文件夹的 utils 里面
## 需要注释掉一段代码
#if [ "${_pid_1_exe##*/}" = systemd ]
#then
#       echo "This systems seems to use systemd."
#       echo "Please take a look at the provided example service unit files in this directory, and adapt and install them. Sorry!"
#       exit 1
#fi

./utils/install_server.sh

image-20221009161208678

## 后面可以通过 service 来管理 redis 服务了
service redis_30065 restart
## 解决/var/run/redis_30065.pid does not exist, process is not running
# 创建下对应的文件就好了
touch /var/run/redis_30065.pid

## ps 可以看到 /etc/init.d 中创建了 redis_30065,还有 执行了 chkconfig 这个在方法二中都会使用,先提一嘴
# 检查 redis 服务是否 on
chkconfig --list
# 如果看到redisd的服务,并且3,4,5都是on的话则成功,如果是off,则键入
chkconfig --level 345 redisd on

方法二 redis_init_script

## 仍然是 utils 下的脚本
cp redis_init_script /etc/init.d/redis_30065
## 修改下信息到自定义的文件夹
chmod + x /etc/init.d/redis

systemctl start redis_30065

Centos7下Redis设置开机自启动服务 - Tse先生 - 博客园 (cnblogs.com)

备份策略

RDB

redis database

默认使用

写时复制技术(备份到临时文件,覆盖)

image-20221009094821583

配置文件位置

image-20221009094852436

当 redis 无法写入磁盘,直接关掉Redis写操作,推荐 yes

image-20221009095029244

是否压缩

image-20221009095059016

数据完整性检查

image-20221009095237444

间隔20秒,如果有3个key发生变化则备份

恢复方式

把 dump.rdb 复制到其他位置

把待恢复的rdb 文件拷贝到配置的 rdb 文件路径

启动 服务即可

AOF

append of file

以日志的形式记录每个写操作(增量保存)

默认不开启

appendonly yes
image-20221009102451720

注意 redis7 这里有修改,aof 改为了多个 可参看 redis7.0多AOF文件_happytree001的博客-CSDN博客_aof文件

image-20221009103201379

超过一定大小 ,rewrite 压缩体积

总结

image-20221009103434940

TODO

下一章会讲讲 redis 的常见数据结构,主要环境还是在 redis-cli 中操作,生产环境中 shell 方式还是用的多一点

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值