Memcached内存机制

作者: ImClive | 来源:发表于2018-04-18 08:52 被阅读8次

Memcached特点

  • 协议简单,基于文本行的协议
  • 基于Libevent的时间处理
  • 内置内存存储方式
  • 分布式缓存服务器(采用一致性哈希算法实现的客户端分布式,而非服务器端的分布式)

内存分配机制 - SlabAllocation

Memcached内存分配
  • Linux内置的Malloc()/Free()函数是按需分配内存,释放后若没有恰好相等的内存占用,那么就会产生内存碎片。
  • SlabAllocation按预先设定的大小,将内存分割为特定长度的块,以解决内存碎片。
  • 内存被分成若干Slab,每个Slab又被分成若干Chunk,相同大小的Chunk被放在同一Slab中。

内存使用机制 - LRU(Least Recently Used)

  • 已分配的内存不回收,而是直接重新利用;
  • 优先使用已过期的内存;
  • 内存不足时采用LRU机制,将长期不用的内存分配给新的记录。

优化思路

  • 设置合理的增长因子,控制内存合理消耗;
  • 调整缓存更新机制,在快失效时更新内存。

相关文章

  • Redis

    MySQL的执行过程 Redis、Memcached、MySQL 内存管理机制Memcached默认使用Slab ...

  • Memcached内存机制

    Memcached特点 协议简单,基于文本行的协议 基于Libevent的时间处理 内置内存存储方式 分布式缓存服...

  • 正确理解memcached,才能更好的使用

    基于memcached官方wiki,写了几篇 memcached 内部机制的文章,比如内存分配、LRU的工作原理。...

  • memcache简介

    Memcached 内存管理机制:Menceched 通过预分配指定的内存空间来存取数据,所有的数据都保存在 me...

  • Memcached内存管理

    Memcached 内存管理 1.Memcached介绍 ​ Memcached是一套分布式的内存对象缓存系统...

  • Memcached原理篇

    1.存储 memcached默认情况下采用了名为Slab Allocator的机制分配、管理内存,Slab All...

  • Memcached内存管理与删除机制

    内存碎片化 如果用C语言直接 malloc,free 来向操作系统申请和释放内存时, 在不断的申请和释放过程中,形...

  • Memcached LRU策略

    Memcached LRU介绍 ​ Memcached作为内存缓存,不可避免的问题之一就是内存的置换问题。我们...

  • Linux安装Mamcached

    Linux下memcached安装 什么是memcached? Memcached 是一个高性能的分布式内存对象缓...

  • memcache使用手册

    Memcached 教程 Memcached是一个自由开源的,高性能,分布式内存对象缓存系统。 Memcached...

网友评论

    本文标题:Memcached内存机制

    本文链接:https://www.haomeiwen.com/subject/phnmkftx.html