岚天逸见

03 2019 档案

REdis主挂掉后复制节点才起来会如何?
摘要:结论: 这种情况下复制节点(即从节点)无法提升为主节点,复制节点会一直尝试和主节点建立连接,直接成功。主节点恢复后,复制节点仍然保持为复制节点,并不会成为主节点。 复制节点无法提升为主节点的原因是复制节点未发起成为主节点的选举。 复制节点日志: 14304:S 26 Mar 2019 15:42:0 阅读全文

posted @ 2019-03-26 16:12 岚天逸见 阅读(1808) 评论(0) 推荐(0) 编辑

REdis CPU百分百问题分析
摘要:REdis版本:4.0.9 运行环境:Linux 3.10.107 x86_64 gcc_version:4.8.5 结论:是一个BUG,在4.0.11版本中被作者antirez所修复 现象: 1) top显示 2) 执行REdis info命令直接卡住不动 3) 集群通讯端口大量的“CLOSE_W 阅读全文

posted @ 2019-03-21 16:29 岚天逸见 阅读(2676) 评论(1) 推荐(1) 编辑

程序高性能取时间问题
摘要:系统调用time底层调用的是gettimeofday,因此只需关注gettimeofday的性能,而且不同Linux上的gettimeofday会存在性能差异。围绕gettimeofday的优势主要基于rdtsc指令,rdtsc和CPU核相关,因此实现时需要处理好多核问题,除非进程和CPU建立亲和关 阅读全文

posted @ 2019-03-20 11:24 岚天逸见 阅读(900) 评论(0) 推荐(0) 编辑

C++标准库之string返回值研究
摘要:先说结论(不一定适用所有环境): 1) GCC默认开启了返回值优化(RVO),除非编译时指定“-fno-elide-constructors”; 2) 现代C++编译器一般都支持返回值优化; 3) string的拷贝构造和拷贝赋值是浅拷贝。 测试环境: 1) gcc (GCC) 4.8.5 2) g 阅读全文

posted @ 2019-03-19 12:55 岚天逸见 阅读(255) 评论(0) 推荐(0) 编辑

Apache Thrift的C++多线程编程定式
摘要:Facebook贡献给Apache的开源RPC组件Thrift有着广泛的应用,C++中使用Thrift也十分普遍,但由于Thrift的Handler会被多个线程调用,因而多线程中应用并不直接的友好,利用C++的“thread_local”特性或GCC的“__thread”特性可化简这一问题。 看具体 阅读全文

posted @ 2019-03-18 19:22 岚天逸见 阅读(732) 评论(0) 推荐(0) 编辑

实战C++对象模型之成员函数调用
摘要:先说结论:C++的类成员函数和C函数实质是一样的,只是C++类成员函数多了隐藏参数this。 通过本文的演示,可以看见这背后的一切,完全可C函数方式调用C++类普通成员函数和C++类虚拟成员函数。 为了实现C函数方式调用C++类成员函数,准备两个文件:。 1) 被调用的C++类成员函数源代码文件aa 阅读全文

posted @ 2019-03-18 14:50 岚天逸见 阅读(1525) 评论(0) 推荐(0) 编辑

std::string的拷贝赋值研究
摘要:说明:以下涉及的std::string的源代码摘自4.8.2版本。结论:std::string的拷贝复制是基于引用计数的浅拷贝,因此它们指向相同的数据地址。 // std::string类定义typedef basic_string<char> string;template<typename _C 阅读全文

posted @ 2019-03-14 16:33 岚天逸见 阅读(4736) 评论(0) 推荐(0) 编辑

Raft知识图谱
摘要: 阅读全文

posted @ 2019-03-14 12:42 岚天逸见 阅读(190) 评论(0) 推荐(0) 编辑

REdis AOF文件结构分析
摘要:REdis-4.0之前的AOF文件没有文件头,而从REdis-4.0开始AOF文件带有一个文件头,文件头格式和RDB文件头相同。 REdis-4.0版本,如果开启aof-use-rdb-preamble(值为yes,5.0默认为yes,4.0默认为no),则AOF文件内容由三部分组成: 1) 文件头 阅读全文

posted @ 2019-03-14 12:38 岚天逸见 阅读(6288) 评论(0) 推荐(1) 编辑

导航

统计信息

点击右上角即可分享
微信分享提示