redis那些事

来源:互联网 发布:手机淘宝怎么注销账号 编辑:程序博客网 时间:2024/06/05 17:35

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会顺序执行

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

原创粉丝点击