自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(7)
  • 收藏
  • 关注

原创 redis 内存管理

在说到redis的内存管理,先来聊下redis的一个命令是怎么执行的。例如 set test “hello word”redis 在内部形成了一个如下的结构dictEntry key 就是test 存储的结构是sds,下面会说到sds 是一个字符串的存储结构,value形成一个redisObject类型, 定义如下 struct redisObject { unsigned ...

2019-07-11 17:08:05 150

原创 kafka高吞吐原理

1 sendfile技术sendfile 也就是我们所说的零copy,区别传统的read/writer send/rev方式,有原来的4次数据copy降低为3次。零copy值的是用户态和内核态的数据copy.传统的方式数据copy方式1.内核从硬盘把数据读到内核缓存2.内核缓存到用户缓存3.用户缓存到内核scoket缓存区4.内核scoket缓存区到协议引擎sendfile技术将用户...

2019-07-08 17:28:03 144

原创 php 中的抽象类和接口的区别

今天和同事谈到了一个类的写法,提到了抽象类,突然有点懵逼,啥叫抽象类,干什么的,忘的一干二净。赶紧查了查资料看了看。抽象类抽象类也就是在php中用abstract来修饰的类。主要特性有以下几个方面1.抽象类不可以实例化,如果要使用抽象类的方法,需要继承或者用类似静态方法调用的方式调用 类名::方法名称2.抽象类的抽象方法也就是abstrcat来修饰的方法,在继承的过程中需要实现3.抽象类...

2019-05-24 09:48:26 134

原创 redis hashmap的实现

这几天研究go和php中map的实现,捎带着看了看redis中字典的实现redis 中也是采用拉链发来处理hash冲突,实现和老版本的php hashtable的实现方式差不多,链式分散式存储,但是多了个rehash(渐进式hash),来看下redis中每个结构的定义dict的定义 typedef struct dict { dictType *type; // 类型特定函数 ...

2019-05-21 21:37:05 2458

原创 php 新老hashtable的实现

老板hashtable的实现php中hashtable的大体结构上和别的语言没什么区别,有两部分构成hashtable和bucket 和链式存储。来看下hashtable的定义 typedef struct _hashtable { uint nTableSize; // 大小 uint nTableMask; // hashtable的掩码 大小nTableSi...

2019-05-21 15:00:37 355

原创 go map的实现

一直很好奇golan的map在运行过程中是以一个什么样的形式存在的。抽空研究了下golang的源码,做个笔记。map 的存在形式有两部分组成 hmap 和bucket 。hmap的结构如下 type hmap struct { count int // map的大小 flags unit8 // B unit8 // 用来计算map的bucket大小 ...

2019-05-16 10:18:39 247

原创 defer使用

defer使用defer使用defer使用上午碰到了这么一个问题 for 循环中使用deferi := 0defer fmt.Println("a", i)for ; i < 3; i++ { defer fmt.Println("b", i)}defer fmt.Println("c", i)i = 100defer fmt.Println("d", i...

2019-05-09 19:01:58 355

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除