摘要:
cachecloud版本:https://github.com/sohutv/cachecloud/archive/refs/tags/2.2.tar.gz 公司使用ldap的ssl认证,java本人一点都不懂,耗费几天时间没有搞定,只能曲线救国,使用stunnel做代理连接ldaps,cachec 阅读全文
摘要:
最近有个前同事的公司招人,给我内推了下,基于当前大环境,换工作的意愿不是很强烈,但是还是想去看看机会。由于时间比较仓促,准备的不是很充分。面试的时候还是挺紧张的。面试过程还是挺顺利的,最后面试关问了一个问题:linux系统下文件被删除之后,使用df命令查看,磁盘空间却没有被释放,怎么排查? 我一听, 阅读全文
摘要:
在运维 redis 集群的过程当中,经常会发现集群中节点数量和理论数量对不上,尤其是在发生迁移或扩缩容的时候。原因是集群进行节点变动的时候,一些本该从集群中剔除的节点由于种种原因没有完全被剔除掉,进而一直残留在集群中。 那么为什么会出现这种情况呢?这就需要重redis cluster剔除节点的机制说 阅读全文
摘要:
为了解决redis使用del命令删除大体积的key,或者使用flushdb、flushall删除数据库时,造成redis阻塞的情况,在redis 4.0引入了lazyfree机制,可将删除操作放在后台,让后台子线程(bio)执行,避免主线程阻塞。 lazy free的使用分为2类:第一类是与DEL命 阅读全文
摘要:
Redis是典型的单线程架构,所有的读写操作都是在一条主线程中完成的。当Redis用于高并发场景时, 这条线程就变成了它的生命线。 如果出现阻塞,哪怕是很短时间 对于我们的应用来说都是噩梦。导致阻塞问题的场景大致分为内在原因和外在原因:·内在原因包括: 不合理地使用API或数据结构、 CPU饱和、 阅读全文
摘要:
建立复制 配置复制的方式有以下三种: 1) 在配置文件中加入slaveof{masterHost}{masterPort}随Redis启动生效。 2) 在redis-server启动命令后加入--slaveof{masterHost}{masterPort}生效。 3) 直接使用命令: slaveo 阅读全文
摘要:
原理 从Redis 4版本之后,redis新增了混合持久化模式。 混合持久化同样也是通过bgrewriteaof完成的,不同的是当开启混合持久化时,fork出的子进程先将共享的内存副本全量的以RDB方式写入aof文件, 然后在将aof_rewrite_buf重写缓冲区的增量命令以AOF方式写入到文件 阅读全文
摘要:
fork操作 当Redis做RDB或AOF重写时, 一个必不可少的操作就是执行fork操作创建子进程, 对于大多数操作系统来说fork是个重量级错误。 虽然fork创建的子进程不需要拷贝父进程的物理内存空间, 但是会复制父进程的空间内存页表。 例如对于10GB的Redis进程,需要复制大约20MB的 阅读全文
摘要:
AOF( append only file) 持久化 以独立日志的方式记录每次写命令,重启时再重新执行AOF文件中的命令达到恢复数据的目的。 AOF的主要作用是解决了数据持久化的实时性, 目前已经是Redis持久化的主流方式。 理解掌握好AOF持久化机制对我们兼顾数据安全性和性能非常有帮助。 AOF 阅读全文
摘要:
RDB持久化是把当前进程数据生成快照保存到硬盘的过程,触发RDB持久化过程分为手动触发和自动触发。 触发机制 手动触发 手动触发分别对应save和bgsave命令: ·save命令: 阻塞当前Redis服务器,直到RDB过程完成为止,对于内存比较大的实例会造成长时间阻塞,线上环境不建议使用。 ·bg 阅读全文