链条传动

砥砺前行,不忘初心!

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

2022年5月22日

摘要: 最近有个前同事的公司招人,给我内推了下,基于当前大环境,换工作的意愿不是很强烈,但是还是想去看看机会。由于时间比较仓促,准备的不是很充分。面试的时候还是挺紧张的。面试过程还是挺顺利的,最后面试关问了一个问题:linux系统下文件被删除之后,使用df命令查看,磁盘空间却没有被释放,怎么排查? 我一听, 阅读全文
posted @ 2022-05-22 21:14 链条君 阅读(1) 评论(0) 推荐(0) 编辑

2022年5月20日

摘要: 在运维 redis 集群的过程当中,经常会发现集群中节点数量和理论数量对不上,尤其是在发生迁移或扩缩容的时候。原因是集群进行节点变动的时候,一些本该从集群中剔除的节点由于种种原因没有完全被剔除掉,进而一直残留在集群中。 那么为什么会出现这种情况呢?这就需要重redis cluster剔除节点的机制说 阅读全文
posted @ 2022-05-20 16:20 链条君 阅读(3) 评论(0) 推荐(0) 编辑

2020年12月18日

摘要: 为了解决redis使用del命令删除大体积的key,或者使用flushdb、flushall删除数据库时,造成redis阻塞的情况,在redis 4.0引入了lazyfree机制,可将删除操作放在后台,让后台子线程(bio)执行,避免主线程阻塞。 lazy free的使用分为2类:第一类是与DEL命 阅读全文
posted @ 2020-12-18 14:46 链条君 阅读(920) 评论(0) 推荐(0) 编辑

2020年12月15日

摘要: Redis是典型的单线程架构,所有的读写操作都是在一条主线程中完成的。当Redis用于高并发场景时, 这条线程就变成了它的生命线。 如果出现阻塞,哪怕是很短时间 对于我们的应用来说都是噩梦。导致阻塞问题的场景大致分为内在原因和外在原因:·内在原因包括: 不合理地使用API或数据结构、 CPU饱和、 阅读全文
posted @ 2020-12-15 18:17 链条君 阅读(201) 评论(0) 推荐(0) 编辑

2020年12月9日

摘要: 建立复制 配置复制的方式有以下三种: 1) 在配置文件中加入slaveof{masterHost}{masterPort}随Redis启动生效。 2) 在redis-server启动命令后加入--slaveof{masterHost}{masterPort}生效。 3) 直接使用命令: slaveo 阅读全文
posted @ 2020-12-09 16:43 链条君 阅读(77) 评论(0) 推荐(0) 编辑

2020年12月8日

摘要: 原理 从Redis 4版本之后,redis新增了混合持久化模式。 混合持久化同样也是通过bgrewriteaof完成的,不同的是当开启混合持久化时,fork出的子进程先将共享的内存副本全量的以RDB方式写入aof文件, 然后在将aof_rewrite_buf重写缓冲区的增量命令以AOF方式写入到文件 阅读全文
posted @ 2020-12-08 11:09 链条君 阅读(502) 评论(0) 推荐(0) 编辑

2020年12月7日

摘要: fork操作 当Redis做RDB或AOF重写时, 一个必不可少的操作就是执行fork操作创建子进程, 对于大多数操作系统来说fork是个重量级错误。 虽然fork创建的子进程不需要拷贝父进程的物理内存空间, 但是会复制父进程的空间内存页表。 例如对于10GB的Redis进程,需要复制大约20MB的 阅读全文
posted @ 2020-12-07 18:39 链条君 阅读(115) 评论(0) 推荐(0) 编辑

摘要: AOF( append only file) 持久化 以独立日志的方式记录每次写命令,重启时再重新执行AOF文件中的命令达到恢复数据的目的。 AOF的主要作用是解决了数据持久化的实时性, 目前已经是Redis持久化的主流方式。 理解掌握好AOF持久化机制对我们兼顾数据安全性和性能非常有帮助。 AOF 阅读全文
posted @ 2020-12-07 17:48 链条君 阅读(114) 评论(0) 推荐(0) 编辑

摘要: RDB持久化是把当前进程数据生成快照保存到硬盘的过程,触发RDB持久化过程分为手动触发和自动触发。 触发机制 手动触发 手动触发分别对应save和bgsave命令: ·save命令: 阻塞当前Redis服务器,直到RDB过程完成为止,对于内存比较大的实例会造成长时间阻塞,线上环境不建议使用。 ·bg 阅读全文
posted @ 2020-12-07 16:35 链条君 阅读(149) 评论(0) 推荐(0) 编辑

2020年12月3日

摘要: ps、top等命令可以查看进程的情况,加上指定参数也可以查看进程的线程 方法一:PS 在ps命令中,“-T”选项可以开启线程查看。下面的命令列出了由进程号为<pid>的进程创建的所有线程。 ps -T -p <pid> 方法二: Top top命令可以实时显示各个线程情况。要在top输出中开启线程查 阅读全文
posted @ 2020-12-03 10:38 链条君 阅读(707) 评论(0) 推荐(0) 编辑