`
younglibin
  • 浏览: 1214117 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

memcach基础知识--1

 
阅读更多

memcache:

 

1.memcache数据访问模型:

   首次访问从数据库查询,这是memcache 的模型, 我们可以通过整合spring,来实现自己的数据同步机制,



 

 

2、memcache 是相互之间乎不通信的分布式,memcache的分布式是完全基于客户端的

 



 

 

 

 

3、memcache内存存储机制

memcache 采用了  SLAB allocation 的机制来分配、管理内存,

SLAB 基本就是按照预先规定的大小,将分配好的内存分割成特定长度的块,来解决内存碎片问题!

SLAB 会重复使用已经分配的内存的目的,分配到的内存不会释放而是被重复利用,(注意这里的内存回收机制《内存使用完了怎么将新的内容加入到内存中》), 他有一个缺点, 就是会浪费内存空间, 例如 分配内存块 是 128  的块, 但是我们的数据只有100 ,那个28 就被浪费了!



 

 

 4、memcache的删除机制

数据不会被删除, 空间会被重复利用, 它使用了LRU(最近最少使用) 的原则进行空间分配,memcache也不会监控数据是否过期,只用在客户端查询的时候才会检测数据是否过期.

 

 

5、memcache 的分布式算法

 

   传说中的 consistent hashing

   大概算法思路:

 

写道
将 所有的 key 通过hash映射到 从 0 到 2的32次方 -1 ,的一个闭环上,
再讲, cache服务节点映射到 这个闭环上, 然后从第一个key开始按照顺时针方式,找到了cache就将这些 key 放在这个 cache中, 然后再继续!当然具体算法比这个还要复杂!

 详细的说明参考:   http://younglibin.iteye.com/blog/2043761

 

 

 

 

  • 大小: 65.4 KB
  • 大小: 36.4 KB
  • 大小: 20 KB
分享到:
评论

相关推荐

    阿里云 专有云企业版 V3.6.0 云数据库KVStore for Memcache 技术白皮书 - 20180824.pdf

    1. 阿里云文档中所有内容,包括但不限于图片、架构设计、页面布局、文字描述,均由阿里云和/或其关联公司依法拥有其知识产权,包括但不限于商标权、专利权、著作权、商业秘密等。 2. 未经阿里云事先书面同意,任何人...

    memcache1.2.1 for windows

    **Memcache基础知识** 1. **什么是Memcache?** Memcache是一种高性能的、分布式的内存对象缓存系统,用于临时存储(或缓存)中间结果或频繁访问的数据,以减少数据库的负载。它主要用于加速动态Web应用,通过将...

    阿里云 专有云企业版 V3.6.2 云数据库KVStore for Memcache 技术白皮书 - 20181228.pdf

    - **KVStore for Memcache** 是阿里云为企业级客户提供的分布式内存数据库服务,它以Memcache协议为基础,提供了高可用、高并发、低延迟的数据存储解决方案。 - **性能特点** 包括快速响应时间、大规模并发处理...

    spring memcache 集成使用

    ### Spring与Memcache集成知识点详解 #### 一、Spring与Memcache简介 - **Spring**:Spring框架是Java平台上的一个开源应用框架,提供了一种简单的方式来管理对象生命周期以及依赖关系,同时也支持AOP(面向切面...

    MemCache开发说明文档

    2.1 **文档目的**:阐述该文档的主要意图,即介绍MemCache的基础知识、预研目标及已取得的成果,帮助读者理解MemCache在实际应用中的价值和实施步骤。 2.2 **阅读对象**:面向的是IT开发者、系统管理员和对分布式...

    Memcache 1.2.6 for Windows

    下面我们将深入探讨Memcache的基础知识、主要特点、安装步骤以及在Windows上的使用技巧。 **一、Memcache基础** 1. **工作原理**:Memcache基于键值对(key-value)存储,将数据存储在内存中,避免了传统数据库的...

    阿里云 专有云Enterprise版 V3.5.0 云数据库Memcache版 开发指南 - 20190322.pdf

    综上所述,开发指南为阿里云专有云Enterprise版V3.5.0的云数据库Memcache版用户提供了从基础知识到高级应用的全方位指导。无论是企业级开发人员、数据库管理员还是系统架构师,都可以通过这份指南,更好地理解和运用...

    php 5.3/5.4/5.5 windows 32/64位memcache.dll扩展

    这些函数构成了与Memcache通信的基础。 5. **性能优化** - Memcache缓存能够显著提高数据读取速度,减少数据库查询次数。合理设置Memcache的缓存策略(如TTL时间、内存大小等)以及使用高效的缓存键值策略,可以...

    memcache使用方法

    1. **Memcache基础知识** - Memcache的工作原理:它是一个分布式内存键值存储系统,用于存储临时的、非结构化的数据。 - 缓存的优势:通过将常用数据存储在内存中,减少对数据库的访问,从而提高响应速度和整体...

    lnmp(sql5.1)-memcache-memadmin管理

    【知识点详解】 1. **Nginx 安装与配置** ...在上述描述中,通过源码方式安装了 Nginx 1.6.2 版本。首先,确保系统中安装了必要的依赖库,如 gcc...安装过程和配置细节展示了基础的 Linux 系统管理和 Web 服务搭建知识。

    memcache的配置及使用——C#引用文件

    以下是对Memcache配置及C#引用文件进行详细讲解的知识点: 1. **安装Memcache**: 首先,你需要在服务器上安装和配置Memcache。这通常涉及下载Memcache软件,然后根据操作系统(如Linux或Windows)的指南进行安装和...

    Windows下的Memcache安装.doc

    - [Memcache基础教程](http://www.ccvita.com/259.html) - [Discuz!的Memcache缓存实现](http://www.ccvita.com/261.html) - [Memcache协议中文版](http://www.ccvita.com/306.html) - [Memcache分布式部署方案]...

    php7.3.~redis和memcache扩展包.rar

    标题中的“php7.3.~redis和memcache扩展包.rar”表明这是一份...而Memcache更简单,适合基础的键值对存储,对于轻量级的缓存需求是个不错的选择。理解这两个缓存系统的特性和应用场景,是优化PHP应用程序性能的关键。

    MemCache Client User Guide

    【MemCache客户端用户指南】 MemCache客户端用户指南主要面向开发者,提供关于如何配置和使用MemCache客户端的详细信息。MemCache是一种高效的...通过理解并应用上述知识,你可以更好地利用MemCache优化你的IT系统。

    memcache+tomcat集群说明手册

    #### 二、基础知识介绍 ##### 2.1 Memcache简介 Memcache是一种高性能、分布式内存对象缓存系统,通过减轻数据库负载来加速动态Web应用程序的运行速度。它通过在内存中缓存数据,避免了频繁访问数据库所带来的延迟...

    memcache的源代码.zip感觉自己水平高的,可以下载研究研究

    **Memcached基础知识** Memcached是一款高性能、分布式内存对象缓存系统,主要用于减少数据库负载,提升Web应用性能。它通过将数据和对象临时存储在内存中来加速动态Web应用的访问速度。由于数据存储在内存中,因此...

    Scaling Memcache at Facebook

    以下是Facebook在扩展Memcache时考虑的关键知识点: 1. **近实时通信**:Facebook需要近乎实时地处理用户请求和内容更新,这要求Memcache系统能够快速响应并提供最新的信息。 2. **内容聚合**:系统需要能够从多个...

    demo_memcache_ieda

    **Memcached基础知识** Memcached是一款高性能、分布式的内存对象缓存系统,用于减少数据库负载,提升Web应用性能。它通过将数据缓存在内存中,避免了每次请求都去数据库查询,从而提高了应用程序的响应速度。 **...

    JAVA的memcache服务器安装以及相关最新jar包

    1. **Memcached基础知识**:Memcached是基于内存的键值存储系统,用于临时存储数据,以加快数据访问速度。它不支持持久化存储,因此适用于存储非关键数据。 2. **Java Memcached客户端**: - **spymemcached**:这...

Global site tag (gtag.js) - Google Analytics