实现redis运行时加载rdb文件 Sep 4, 2019

对redis比较了解的人应该知道redis提供rdb持久化机制。rdb文件其实就是redis在某一时间的一个快照,redis在重启时,可以加载这个快照,从而恢复状态。然而redis没有暴露加载rdb这个接口,因此没有办法在运行时手动地导入rdb快照。

其实,在阅读replicate.c后发现,redis的从节点在接收了rdb全量同步文件后,直接调用了rdbload函数——这就意味着:运行时动态加载rdb文件完全可行!毕竟redis自己也是这么做的。但是redis不肯暴露这个接口给用户。

我们上一篇文章要进行redis异地数据中心同步,同样需要加载rdb文件,如果只能重启redis来加载rdb文件,多少有点不舒服。因此探讨一下redis动态加载rdb文件的实现总归有好处的,事实证明我做到了。

...
Redis异步拷贝实现—replicate.c Sep 3, 2019

为实现redis异地数据中心实时同步功能,存在几种方案。其中一种方案是利用redis主从节点的异步拷贝,伪装一个slave节点,获取主节点的异步拷贝信息。将该异步拷贝信息同步到异地数据中心,从而实现redis集群异地同步。

本文的目的就是探究“伪装slave获取异步拷贝”的可行性与复杂度。
虽然redis文档有介绍主从以及异步拷贝,但是其实现并没有详细介绍,因此我阅读了redis中的cluster.creplicate.c(redis版本为4.0.1),探查redis”主从拷贝”实现的细节,并使用netcat软件进行了一些实验。我们的最终结论是:实验结果反映“伪装slave获取异步拷贝”方案是可行的,并且复杂度可接受。

...
快车道GIA主机测评 Aug 27, 2019

很幸运拿到了快车道的圣何塞cn2 gia的测试机器,做一篇主机测评的文章。

...
Redis文档摘要 Aug 20, 2019

看了看redis的文档,觉得有些东西写的挺好的,就挑觉得有意义的记录一下。

...
Nginx安装使用:webserver及反向代理 Aug 15, 2019

试试nginx

...
Redis集群扩容迁移 Aug 10, 2019

本文记录了redis集群扩容时会发生的slot迁移过程,同时记录了在迁移过程中查询key集群会如何响应。在文章开头,附带了一些redis集群技术的简单介绍(大部分摘自redis官方文档),帮助了解迁移过程。

...
Socks5代理netty重制版 Jul 10, 2019

这是一个新的、使用netty实现的、使用http协议进行混淆的socks5代理。解决了前作sogo项目因go内存回收机制/内存复用机制弱带来的cpu/内存占用高的问题。

...
Windows10电源管理-睡眠问题解决 Jul 7, 2019

这是很久之前写在CSDN上的一篇文章,现在迁移到自己的博客上,主要介绍windows10睡眠、电源管理方面的问题。

...
Centos7安装ss5、squid Jun 15, 2019

减少造轮子,安装已有socks5、http代理。这里的ss5和squid是不能达到FQ的目的的,要实现这个目的,请查看之前的其他文章。

...
Systemd服务文件编写-centos7下 Jun 7, 2019

以前的博客中有如何使用shell脚本重启应用的教程,也有解决tty的最大打开文件数量限制的方法。其实这些都可以用systemd服务的方式解决。今天就来一个简单的service文件,记录下怎么使用。

使用如下命令即可编写sogo服务的service文件,并设置开机自启动。

...