ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

redis持久化和用户认证--02

2021-11-29 12:30:25  阅读:145  来源: 互联网

标签:02 opt 0.1 -- redis 6379 shutdown save


RDB和AOF持久化

1. RDB

在这里插入图片描述

RDB:类似于快照的形式,当前内存里的状态持久化到硬盘里
优点:压缩格式/恢复速度快
缺点:不是实时的,可能会丢失数据,操作比较重

配置,配置文件
添加

save 900 1
save 300 10
save 60 10000
dbfilename redis.rdb
dir /data/redis_6379/

完整的配置文件

#以守护进程的方式启动
daemonize yes 

#绑定主机的ip
bind 127.0.0.1 192.168.80.51

#端口
port 6379

#pid和log文件的存放位置
pidfile /opt/redis_6379/pid/redis_6379.pid
logfile /opt/redis_6379/logs/redis_6379.log

#RDB持久化的配置,文件名称,含义,900秒一个改变就bgsave,300秒10个,60秒10000个,任意的一个
#条件满足就自动的保存,执行shutdown的时候会先bgsave在shutdown 
save 900 1
save 300 10
save 60 10000
dbfilename redis.rdb

#本地的数据库的目录
dir /data/redis_6379/

重启

redis-cli shutdown 
redis-server /opt/redis_6379/conf/redis_6379.conf

模拟数据

vim sj.sh
#!/bin/bash 
for i in {1..1000}
do
 redis-cli -h db01 set k_${i} v_${i}
 echo "ok"
done 

手动的执行,bgsave

db01:6379> BGSAVE
Background saving started

在这里插入图片描述

我们shutdown自动会保存

db01:6379> shutdown 

在这里插入图片描述

结论

1.没有配置save参数时,shutdown不会持久化保存
2.没有配置save参数时,可以手动执行bgsave触发持久化
3.在配置了save参数后,shutdown,kill,pkill都会自动触发bgsave
4.恢复的时候,rdb文件名要和配置文件里写的一样。
5.RDB高版本兼容低版本,低版本不兼容高版本

2. AOF

在这里插入图片描述

AOF:类似于mysql的binlog,可以设置为每秒/每次操作以追加的形式持久化
优点:安全,最多损失1秒的数据,可读
缺点:文件比较大,恢复速度慢

配置

appendonly yes
appendfilename "redis.aof"
appendfsync everysec
#以守护进程的方式启动
daemonize yes 
#绑定主机的ip
bind 127.0.0.1 192.168.80.51
#端口
port 6379
#pid和log文件的存放位置
pidfile /opt/redis_6379/pid/redis_6379.pid
logfile /opt/redis_6379/logs/redis_6379.log
#本地的数据库的目录
dir /data/redis_6379/
#开启aof
appendonly yes
#文件保存的名称
appendfilename "redis.aof"
#每秒写一次
appendfsync everysec

重启:

redis-cli shutdown 
redis-server /opt/redis_6379/conf/redis_6379.conf

在这里插入图片描述

当aof与rdb同时存在的时候,重启redis会先读取aof文件保存的为准

aof的重写机制

假若我们插入多个数据,最后我们么删除的一些
那么aof只会记录最后的结果,中间的过程不会记录多余的
减少记录的内容,恢复的时候会更加的快速

3. 用户认证

配置文件添加

requirepass yq

重启

redis-cli shutdown 
redis-server /opt/redis_6379/conf/redis_6379.conf

登录
第一种:AUTH yq

[root@db01 opt]# redis-cli
127.0.0.1:6379> 
127.0.0.1:6379> 
127.0.0.1:6379> keys *
(error) NOAUTH Authentication required.
127.0.0.1:6379> AUTH yq
OK
127.0.0.1:6379> get k_1
"v_1"
127.0.0.1:6379>

第二种 redis-cli -a yq

[root@db01 opt]# redis-cli -a yq
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
127.0.0.1:6379> 

密码简单?

1.redis一般都部署在内网环境,默认是比较安全的环境
2.有同学担心密码写在配置文件里,开发不允许登陆到Linux服务器上,但是可以连接到redis,设个密码安全些

标签:02,opt,0.1,--,redis,6379,shutdown,save
来源: https://blog.csdn.net/ncnhhm/article/details/121605808

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有