Spring Aop使用 Nov 4, 2019

来记一下spring aop的使用

...
Jdk8的function包以及::用法 Oct 24, 2019

不用就不会了解,不了解就不会用,今天来记一下Java8的lambda表达式相关的一点点东西。

...
玩转Centos8 Sep 26, 2019

上一篇在阿里云上安装了centos8,现在就开一篇centos8的踩坑记录,还是比较多的。。

...
从Centos7网络安装Centos8 Sep 26, 2019

centos8在前几天发布了,但是云服务大厂们往往不会第一时间上架centos8镜像,这一篇博客就是如何在阿里云的机器上自力更生网络安装centos8。首先说明一点,以下脚本需要vps的内存至少有2G,这是Redhat8的要求,因为他的LiveOS比较大,小内存机器上请勿尝试。

...
Redis Cluster实现 Sep 23, 2019 redis cluster简介 在我的理解里,redis集群和数据库分库差不多——自动地将key分配到16384个槽(slot),而集群中的每个redis节点存储一部分槽。 为什么是16384个槽?因为redis集群会计算key的CRC16然后取模16384,得到的值即为槽点编号。 redis集群通过这个分片(reshrad)和主从备 ...
Redis哨兵实现-sentinel.c Sep 12, 2019

这一篇记录一下sentinel的文档和实现。真的是好长的一篇文章😂

...
Redis持久化机制-aof.c与rdb.c Sep 11, 2019 redis提供aof和rdb两种持久化机制,本文分析一下这两种持久化机制 两种持久化机制的优劣 以下先摘录一下redis文档关于rdb、aof持久化的优势和劣势 redis提供两种持久化方式:RDB和AOF RDB以一定的时间间隔提供redis数据集的实时快照 AOF则记录redis的每一次写操作。在redis重启时,会重新执行 ...
Libuv教程 Sep 6, 2019

到目前为止写了挺多网络编程的东西,要么用netty,要么用go。因为网络编程是IO密集的应用,用带gc的语言写,总是因为频繁的gc需求导致cpu占用过高。netty使用unsafepointer的使用堆外内存来避免频繁gc,但是这还是不够,因为你总得生成string这种堆内对象。只有一个办法来避免这种问题,那就是用没有gc的语言来编写网络编程了。

libuv就是c语言的一个异步事件库,这篇博客就是来搞一下。

...
Psync2——redis备份机制的发展【转载】 Sep 5, 2019

今天的正题是想转发一篇关于“异步拷贝”发展的博文,写的真的好,忍不住想转发。看完不禁感叹redis的牛逼,有种兴叹汪洋的感觉。。

...
实现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文件的实现总归有好处的,事实证明我做到了。

...