- 博客(7)
- 资源 (1)
- 收藏
- 关注
转载 认识--Nginx
认识--Nginx Nginx简介Nginx安装和运行Nginx进程初识Nginx初体验静态文本服务器反向代理服务器负载均衡 入职半年来,一直在Nginx的基础上做模块开发,学到了很多东西,也碰到了很多坑。在业务开发的同时,由于对Nginx本身也是一知半解,造成了很多不必要的Bug。痛定思痛,很早以前就想系统的学习一下Nginx,迟迟没...
2019-07-12 16:29:35 445
原创 线程安全的 Observer 模式
一个动态创建的对象是否还活着一个动态创建的对象是否还活着,光看指针是看不出来的(引用也一样看不出来)。指针就是指向了一块内存,这块内存上的对象如果已经销毁,那么就根本不能访问(就像 free 之后的地址不能访问一样),既然不能访问又如何知道对象的状态呢?换句话说,判断一个指针是不是合法指针没有高效的办法,这是 C\C++ 指针问题的根源。(万一原地址又新建了一个新的对象呢?再万一这个新的对象的类...
2019-07-09 11:43:54 625
转载 Redis源码剖析--压缩列表ziplist
Redis源码剖析–压缩列表ziplistziplist结构头尾结构节点结构prev_entry_lengthencoding编码和解码ziplist基本操作创建空ziplist插入节点获取指定索引上的节点删除给定节点ziplist小结 压缩列表(ziplist)是由 一系列特殊编码的内存块构成的列表,其是Redis的列表建和哈希键的底层实现...
2019-07-01 16:32:58 243
转载 Redis源码剖析--整数集合Intset
Redis源码剖析–整数集合Intsetintset数据结构升级inset基本操作创建intset添加元素移除数据其他操作函数intset小结 本系列博客文章已经分析了Redis的大部分数据结构,包括动态字符串,双端链表,字典,跳跃表等,这些数据结构都非常强大实用,但是在内存消耗方面也非常“巨大”。Redis的数据都是存放在内存上面的,所以对内存的使用要求及...
2019-07-01 16:29:47 169
转载 Redis源码剖析--基数统计hyperloglog
Redis源码剖析--基数统计hyperloglog基数统计算法思路伯努利过程基数统计hyperloglog实现数据结构添加元素计算基数合并hyperloglog键hyperloglog小结Update 2016-12-9 Redis中hyperloglog是用来做基数统计的,其优点是:在输入元素的数量或者体积非常非常大的时候,计算...
2019-07-01 16:25:05 582
转载 Redis源码剖析--跳跃表 zskiplist
跳跃表数据结构跳跃表基本操作创建跳跃表插入节点跳跃表删除获取给定分值和成员的节点的排名区间操作跳跃表小结 跳跃表是一种有序的数据结构,它通过在每个节点中维持多个指向其他节点的指针,从而达到快速访问的目的。跳跃表在插入、删除和查找操作上的平均复杂度为O(logN),最坏为O(N),可以和红黑树相媲美,但是在实现起来,比红黑树简单很多。说起跳跃表,在前段时间面...
2019-07-01 10:31:27 220
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人