自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 无锁多消费者缓存队列设计

一个生产者对应多个消费者,通常情况下是多个工作线程,来操作缓存队列,由于涉及到数据同步的问题,难免要用到线程锁机制,但是频繁的加锁解锁会有很大的性能开销,本文是设计针对多个工作线程,来同时创建相应的读写队列,使得线程间实现数据的隔离,对于缓存队列的操作,主要是m_rindex和m_windex索引位置的移动(环形队列)数据传输结构:struct Node_t //传输数据...

2018-08-17 17:13:32 596

转载 Nginx惊群现象的处理

转载地址:http://blog.csdn.net/dasgk/article/details/41542589nginx中使用的锁是自己来实现的,这里锁的实现分为两种情况,一种是支持原子操作的情况,也就是由NGX_HAVE_ATOMIC_OPS这个宏来进行控制的,一种是不支持原子操作,这是是使用文件锁来实现。首先我们要知道在用户空间进程间锁实现的原理,起始原理很简

2018-01-30 11:44:27 696

转载 Redis内部数据结构详解(7)——intset

本文是《Redis内部数据结构详解》系列的第七篇。在本文中,我们围绕一个Redis的内部数据结构——intset展开讨论。Redis里面使用intset是为了实现集合(set)这种对外的数据结构。set结构类似于数学上的集合的概念,它包含的元素无序,且不能重复。Redis里的set结构还实现了基础的集合并、交、差的操作。与Redis对外暴露的其它数据结构类似,set的底层实现,随着元素类型

2018-01-10 10:52:02 1283

转载 Redis内部数据结构详解(6)——skiplist

本文是《Redis内部数据结构详解》系列的第六篇。在本文中,我们围绕一个Redis的内部数据结构——skiplist展开讨论。Redis里面使用skiplist是为了实现sorted set这种对外的数据结构。sorted set提供的操作非常丰富,可以满足非常多的应用场景。这也意味着,sorted set相对来说实现比较复杂。同时,skiplist这种数据结构对于很多人来说都比较陌生,因

2018-01-10 10:50:48 7358 5

转载 Redis内部数据结构详解(5)——quicklist

本文是《Redis内部数据结构详解》系列的第五篇。在本文中,我们介绍一个Redis内部数据结构——quicklist。Redis对外暴露的list数据类型,它底层实现所依赖的内部数据结构就是quicklist。我们在讨论中还会涉及到两个Redis配置(在redis.conf中的ADVANCED CONFIG部分):list-max-ziplist-size -2list-co

2018-01-10 10:49:52 792

转载 Redis内部数据结构详解(4)——ziplist

本文是《Redis内部数据结构详解》系列的第四篇。在本文中,我们首先介绍一个新的Redis内部数据结构——ziplist,然后在文章后半部分我们会讨论一下在robj, dict和ziplist的基础上,Redis对外暴露的hash结构是怎样构建起来的。我们在讨论中还会涉及到两个Redis配置(在redis.conf中的ADVANCED CONFIG部分):hash-max-zi

2018-01-10 10:49:04 15415 4

转载 Redis内部数据结构详解(3)——robj

本文是《Redis内部数据结构详解》系列的第三篇,讲述在Redis实现中的一个基础数据结构:robj。那到底什么是robj呢?它有什么用呢?从Redis的使用者的角度来看,一个Redis节点包含多个database(非cluster模式下默认是16个,cluster模式下只能是1个),而一个database维护了从key space到object space的映射关系。这个映射关系

2018-01-10 10:47:22 1223

转载 Redis内部数据结构详解(2)——sds

本文是《Redis内部数据结构详解》系列的第二篇,讲述Redis中使用最多的一个基础数据结构:sds。不管在哪门编程语言当中,字符串都几乎是使用最多的数据结构。sds正是在Redis中被广泛使用的字符串结构,它的全称是Simple Dynamic String。与其它语言环境中出现的字符串相比,它具有如下显著的特点:可动态扩展内存。sds表示的字符串其内容可以修改,也可以追加。在很

2018-01-10 10:45:14 1370

转载 Redis内部数据结构详解(1)

Redis内部数据结构详解(1)——dict如果你使用过Redis,一定会像我一样对它的内部实现产生兴趣。《Redis内部数据结构详解》是我准备写的一个系列,也是我个人对于之前研究Redis的一个阶段性总结,着重讲解Redis在内存中的数据结构实现(暂不涉及持久化的话题)。Redis本质上是一个数据结构服务器(data structures server),以高效的方式实现了多种现

2018-01-10 10:36:37 2940 1

空空如也

空空如也

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

TA关注的人

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