redis那些事

redis那些事

第一次接触redis

项目第一次用redis,我的学习过程是这样的,首先在网上找了两个相关的视频 劈头盖脸的看,等了解大概之后再从网上搜如何安装redis,一定要找最近日期的文章,redis 版本也一定要高点,什么2.8 之前的版本 还是抛弃吧,从3.0后加了集群和一些新的东西。总之建议看新文档。

运行先加载谁

redis 启动后,会根据配置appendonly no和yes 选择加载aof文件还是rdb文件,如果是yes,很明显只加载aof文件到内存,如果是no 则加载rdb文件,实际上rdb文件比aof小接近一半,rdb数据有压缩。

主从同步的时候,如果数据库达到G级别 从库同步需要多久

这个主要看两台机器之间的带宽了,没什么好说的

主从同步的细节

主从开始的时候,主会把当前进程 原样复制一份给子进程,子进程把所有内存数据复制到数据目录dump.rdb,然后通过网络把这个rdb文件发送给从库,从库会在数据目录生成一个临时rdb文件接收,接收完成后把临时文件更改成dump.rdb 然后载入内存,(如果从库没有开启rdb持久化只有aof的话,数据目录下的rdb会千年不变,除非你在从库执行save或者bgsave命令,即使配置表中把save设置“”了,也会生成一个rdb,出乎意料啊!)

AOF rewrite的最后将rewrite过程中产生的新数据写到新文件造成的阻塞几乎是不可避免的。只要硬盘许可,应该尽量减少AOF rewrite的频率,AOF重写的基础大小默认值64M太小了,可以设到5G以上,等服务器维护的时候手动执行bgrewriteaof



ls -lR|grep “^-“|wc -l ls -lR|grep “^-” 通过这个命令检测文件夹下文件数变动



正式上线后

密码设置复杂点,数据库端口改掉,添加防火墙


maxmemory 设置服务器内存的一半为好


auto-aof-rewrite-min-size 设置大一点比如5G 可以避免redis自动重写,停服后可以手动执行


设置flushdb flushdball config 禁用 如下设置

rename-command FLUSHALL joYAPNXRPmcaarcR4ZDgC81TbdkSmLAzRPmca4rcR
rename-command FLUSHDB qf69aZbLAX3cdf3eddnHM3SOlbpH71yEXLAX3c4f3e
rename-command CONFIG FRaqbC8wSA1XvpFsVjCRGryWtIIZS2TRvpFVjC4RG
rename-command KEYS eIiGXix4A2DreBBsQdwY6YHkidcDjoYA2DreBB4sQ

知识点:不管是主从触发的 主 bgsave 还是主 满足条件自己bgsave 同一时间只会fork一个子进程,有且只会有一个子进程,同时收到两个bgsave会顺序执行

如果大家有什么想讨论的欢迎评论,谢谢!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值