📁
编程笔记
  • 水行云起
  • 功夫在诗外
    • 程序员必读书单
    • 朝闻道
    • Index
    • 大型网站技术架构
    • 富兰克林自传
    • 笛卡尔
    • 程序员修炼之道
    • 知行合一王阳明
    • 好好学习
    • 硅谷钢铁侠:埃隆·马斯克的冒险人生
    • 人性的弱点
    • 人类简史:从动物到上帝
  • 性能分析
    • 进程管理
    • xhprof
    • linux性能排查
  • 存储
    • MySQL
    • 数据中台
    • 深度好文
    • Redis
    • Memcache
  • 大数据
    • 海量数据处理
    • Kafka
    • [译]Hadoop、Spark和Flink-大数据框架对比
    • 数据分析
    • 深度好文
  • 设计模式
    • [译]构建无bug面向对象软件:契约式设计简介
  • 并发编程
    • [译]使用PHP修改《我的世界》——代码篇
    • 深度好文
  • 数学之美
    • [译]PHP尚不适合机器学习的三个原因
    • 分词
    • SVM
    • NLP-文本分类
    • [译]解密数据科学
  • 搬山之术
    • 正则表达式
    • 搜索技巧
    • MAC专区
  • 数据结构和算法
    • 树
    • 动态规划
    • 线性-链表
    • 排序
    • 图
  • 网络通信
    • 深度好文
  • 语言
    • PHP
    • Golang
    • Cpp
  • 操作系统
    • 深度好文
    • 操作系统课程笔记
  • 琅嬛福地
    • 前辈博客
    • 站点
    • 电子书
  • PHP笔记
    • PHP7新特性整理
  • 前端
    • [译]为什么Flutter选择Dart
    • 深度好文
Powered by GitBook
On this page
  • slab allocator内存分配、管理机制
  • 删除机制
  • 分布式

Was this helpful?

  1. 存储

Memcache

memcache相关

slab allocator内存分配、管理机制

  1. 概念

    1. slab:同样大小的chunk组成一类slab

    2. Page:分配给Slab的内存空间,默认是1M。分配给Slab之后根据Slab的大小切成chunk

    3. Chunk:固定大小的内存空间,用于缓存记录,默认为88Byte

  2. 原理:memcached 根据收到的数据大小,选择最适合数据大小的Slab,memcached中保存着Slab内空闲chunk的列表,根据该列表选择chunk,然后将数据缓存其中。Slab allocator分配的内存不会释放,而是重复利用。

  3. 缺点:由于分配的是特定长度的内存,因此无法有效的利用分配的内存。对与该问题没有完美的解决方案,但可以调节slab class的大小差别来减少空间浪费。

  4. 使用Growth factor进行调优

删除机制

  1. 懒删除:获取key时查看时间戳,检查是否过期。因此不会在过期监视上耗费cpu时间

  2. LRU:内存空间不足时,删除最近最少使用的记录

分布式

  1. 一致性哈希

PreviousRedisNext大数据

Last updated 4 years ago

Was this helpful?