2 chen_song_

尚未进行身份认证

我的才华还撑不起自己的野心,我就应该静下心来学习。 我的能力实现不了自己梦想,我就应该沉下心练习。

等级
TA的排名 2w+

redis源码分析之主从同步源码分析

=====================================================redis源码学习系列文章:redis源码分析之sha1算法分析redis源码分析之字典源码分析redis源码分析之内存编码分析intset,ziplist编码分析redis源码分析之跳跃表redis源码分析之内存淘汰策略的原理分析redis源码分析之对象系统源码分析strin...

2019-10-26 17:40:05

redis源码分析之异步进程保存数据rdb文件和aof文件源码分析

=====================================================redis源码学习系列文章:redis源码分析之sha1算法分析redis源码分析之字典源码分析redis源码分析之内存编码分析intset,ziplist编码分析redis源码分析之跳跃表redis源码分析之内存淘汰策略的原理分析redis源码分析之对象系统源码分析strin...

2019-10-19 23:25:40

redis源码分析之字典源码分析

=====================================================redis源码学习系列文章:redis源码分析之sha1算法分析redis源码分析之字典源码分析redis源码分析之内存编码分析intset,ziplist编码分析redis源码分析之跳跃表redis源码分析之内存淘汰策略的原理分析redis源码分析之对象系统源码分析strin...

2019-10-14 21:53:31

redis源码分析之对象系统源码分析-string, list链表,hash哈希,set集合,zset有序集合

前言在redis中使用五种数据结构都封装成对象系统分析流程redis对象数据结构介绍和对应数据使用编码格式string介绍list链表底层实现原理hash哈希底层实现原理set集合底层实现原理zset有序集合底层实现原理正文一,redis对象数据结构介绍和对应数据使用编码格式redis中对象的数据结构typedefstructredisObject{...

2019-10-14 20:19:27

redis源码分析之内存编码分析 intset, ziplist编码分析

前言redis是内存操作的对数据的编码也自己的一套编码的格式分析流程intset数据编码intset数据插入的分析intset数据查找的分析intset数据删除的分析ziplist数据的编码ziplist数据的插入的分析ziplist数据的合并的分析ziplist数据的查找的分析ziplist数据的删除的分析正文一,intset数据结构编码分析...

2019-10-10 01:12:34

redis源码分析之内存淘汰策略的原理分析

前言在MySQL和redis配合使用时怎么保存redis中是热点数据的,比如:MySQL的中的有100万条数据redis中有10万条数据是热点数据呢,这个就需要配置redis的使用什么方式淘汰不是热点的数据概论介绍:LRU:即最近最久未使用算法LRU是LeastRecentlyUsed的缩写,即最近最少使用,是一种常用的页面置换算法,选择最近最久未使用的页面予以淘汰。该算法赋予每个页面...

2019-10-08 02:52:27

redis源码分析之sha1算法分析

前言在密码学分为三大类分别是不可逆算法(md5,sha家族,HmacSHa家族)可逆的算法(AES,DES,RC4,Rabbit,TripleDes)可逆的算法公钥和私钥(RSA)我在redis源码中hash表的因子是使用sha1算法生成的。正文1,sha1算法原理分析了解sha1介绍SHA-1(英语:SecureHashAlgorithm1,中文名...

2019-10-01 21:30:02

ping的原理的解析和 ICMP协议, 网络工具

前言最近和同事测试网络带宽问题,分析网络稳定性的问题时,在网上没有找到合适工具,我发现网上测试网络带宽的原理都是ping一样的原理就研究一下ping工具一直是我们使用测量网络是否相通。它的应用有很多,比如我们经常测试网络的带宽,网络安全,使用ICMP攻击使服务器繁忙,DOS攻击正文一,ping的原理介绍ping使用协议在网络ISO中那一层ping使用ICMP在网络层,有IP头...

2019-08-30 08:00:55

MySQL的InnoDB的表数据存储原理和优化原理分析

前言正文1,InnoDB行记录格式InnoDB存储引擎和大多数据库一样,记录是以行的形式存储的。这意味着页中保存着表中一行行的数据。到MySQL5.1时,InnoDB存储引擎提供了Compact和Redundant两种格式来存放行记录数据,Redundant是为兼容之前版本而保留的,如果你阅读过InnoDB的源代码,会发现源代码张红是用PHYSICALRECORD(NEWSTYLE)...

2019-08-01 21:55:00

MySQL的存储引擎的使用场景分析

前言MySQL在我们日常开发中经常使用存储数据使用,但是出现问题优化和存储引擎的选择适合我们实际业务场景,就要对MySQL的存储索引的原理要有所了解。正文一,MySql的存储引擎介绍①InnoDB存储引擎InnoDB存储引擎支持事务,主要面向在线事务处理(OLTP)方面的应用。其特点是行锁设计,支持外健,并支持类类于Oracle的非锁定读,即默认情况下读取存储不会产生锁。MySQ...

2019-07-29 22:48:39

优雅的交流的注意点-能量的发源地-潜意识

前言工作中要和不同人交流,就需要如何带动周围人积极性,需要个人的领导能力和积极心态。正文一,交流交流时亲切自然,话题力求轻松活泼,是成为一个善于言辞的健谈必须修炼的第一步。发自内心的真挚,热忱与同情心能够推动在场的所有人,也是二,积极的情感欲望信心爱性热忱浪漫希望三,消极的情感恐惧嫉妒抱恨报复贪婪迷信愤恨结语...

2019-07-21 00:32:02

Libevent的事件驱动源码分析(三)之反应堆的设计

前言网络编程使用基本都是反应堆(reactor)著名C++标准的Boost中asio使用reactor模式,它的io线程是安全的,libevent使用io也使用该模式正文一,reactor模式1,采用基于事件驱动的设计,当有事件触发时,才会调用处理器进行数据处理。Reactor:负责响应IO事件,当检测到一个新的事件,将其发送给相应的Handler去处理。Handler...

2019-07-06 09:41:26

Libevent的事件驱动源码分析(二)

前言libevent线程是不安全的,现在服务器都是多核的如何充分使用cpu就要使用多线程。正文一,谈谈libevent如何使用多线程呢我们在上学的时候,经常去学校的食堂吃饭。有几种情况1,一个窗口排队等待打饭一个窗口就相当于我们网络中io单线程的处理,不会出现惊群效应(linux3.0+epoll这个问题已经解决了),这个效率会比较底下,学生排队的时间过长2,多...

2019-07-04 23:22:41

Libevent的事件驱动源码分析(一)

前言Libevent是一个用C语言编写的、轻量级的开源高性能事件通知库,主要有以下几个亮点:事件驱动(event-driven),高性能;轻量级,专注于网络,不如ACE那么臃肿庞大;源代码相当精炼、易读;跨平台,支持Windows、Linux、*BSD和MacOs;支持多种I/O多路复用技术,epoll、poll、dev/poll、select和kqueue...

2019-07-01 23:41:14

游戏服务器功能模块

一,游戏服务器之物品系统二,游戏服务器之定时器三,游戏服务器之技能系统篇四,游戏服务器之load配置文件五,游戏服务器之宠物功能六,游戏服务器之排行榜七,游戏服务器之成就功能八,游戏服务器之NPC九,游戏服务器之地图系统十,游戏服务器之聊天系统十一,游戏服务器之红点功能十二,游戏服务器之任务系统十三,游戏服务器之内存池分配十四,游戏服务器之内存...

2019-06-30 11:52:11

德州扑克和短牌的算法分析

前言由于公司的业务的扩展增加短牌玩法,这个短牌算法我在github上找很长时间都没有找到开源了。最后我只能自己写短牌的算法正文一,分析扑克数据1,一张牌在内存怎么存放的红桃A是放在int类型中int是32字节内存存放高16存放牌的大小|颜色|牌的值|低8位存放牌映射数的大小00000000000000011000110100101001高16位是计...

2019-06-30 11:48:06

thrift的TCompactProtocol和TMemoryBuffer类分析

前言架构ApacheThriftAPICS架构Thrift包含一套完整的栈来创建客户端和服务端程序。[7]顶层部分是由Thrift定义生成的代码。而服务则由这个文件客户端和处理器代码生成。在生成的代码里会创建不同于内建类型的数据结构,并将其作为结果发送。协议和传输层是运行时库的一部分。有了Thrift,就可以定义一个服务或改变通讯和传输协议,而无需重新编译代码。除了客户端部分之外,Th...

2019-06-25 00:37:58

TiDB和kong

今天很荣幸参加GGV资源资本微服务开源技术的交流会一,TiDB技术大咖分析TiDB优缺点,分析TiDB使用的场景,不适合秒杀系统的数据库,TiDB使用需要64G内存,还有分析内存为什么抖动,分析TiDB与mysql的存储连接分析df文件二,kongkong提供插件,开发起来更方便,服务之间通信的加密处理TLS...

2019-06-23 10:35:48

Linux的poll, select和epoll的原理分析

后期将分析Linux内核的实现,现在占一下坑前言正文结语

2019-06-22 10:56:22

遇到程序崩溃(core dump) 重载C++的operator函数

前言今天在项目遇到拷贝函数问题,导致程序崩溃了(coredump),这个问题对于做后端的是非常严重的问题。我相信接触C++人的都知道拷贝函数,今天查这个问题将近2个小时,始终不明白为什么会崩溃了。在这边记录一下正文一,迭代器使用的时候崩溃问题#include<iostream>#include<map>classctest{pu...

2019-06-19 21:00:47

查看更多

勋章 我的勋章
  • GitHub
    GitHub
    绑定GitHub第三方账户获取
  • 签到新秀
    签到新秀
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。