`
chen422520
  • 浏览: 27375 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

memcached 实现分布式数据存储

 
阅读更多



 

1         通过设置特效key前缀来实现分布,基本上可以实现memcachedkey的一对多关系,好处在与不会混淆

如: 1 号服务器  192.168.1.1

2 号服务器  192.168.1.2

     如果 缓存键 en 开头的就存在 1

          缓存键 ch 开头的就存在2

 

2         根据余数计算分散:

 

就是“根据服务器台数的余数进行分散”。求的键的整数hash ,再除以服务器台数,根据余数来选择服务器

 

缺点:余数计算的方法简单,数据的分散性也相当优秀,但也有其缺点。那就是当添加或者移除服务器时,缓存重组的代价相当的巨大。添加服务器后,余数就会产生巨变,这样就无法获取与保持时相同的服务器,从而影响缓存的命中率。

 

 

 



 

3         consistent  hashing

  首先求出memcached 服务器的(节点)的哈希值,并将其分配到 0-232 的圆上。然后用同样的方法求出存储数据键的哈希值,并映射到圆上。然后从数据映射到的位置开始顺时针查找,将数据保存到找到的第一个服务器上,如果超过232 任然找不到服务器,就会保存到第一台memcached服务器上



 

 

 

从上图状态可以看出,添加一台memcached 服务器。余数分布式算法由于保存键的服务器会发生巨大的变化而影响命中率,蛋consistent hashing中,只有在continuum上增加服务器的地点 逆时针方向的第一台服务器上的键会受到影响

  • 描述: 1
  • 大小: 24.2 KB
  • 描述: 2
  • 大小: 40.3 KB
  • 描述: 3
  • 大小: 32 KB
  • 描述: 4
  • 大小: 35.9 KB
分享到:
评论

相关推荐

    采用Memcached实现分布式Session所需的jar包

    4. **实现Memcached分布式Session的关键jar包** 在Java环境下,使用Memcached作为Session存储,通常会依赖以下关键库: - **spymemcached**:这是一个Java客户端库,用于与Memcached服务器通信。它提供了丰富的API...

    Memcached分布式缓存学习.doc

    4. Memcached 相互不通信的分布式:Memcached 服务器之间不会进行通信,数据都是通过客户端的分布式算法存储到各个服务器中。 Memcached 的安装: 首先在 Windows 系统上安装 Memcached,下载 Memcached 服务端,...

    Memcached 分布式缓存实现原理简介

    它的工作原理是将数据存储在内存中,通过一个简单的文本协议与客户端通信,采用事件驱动的libevent库处理网络I/O。Memcached的一个重要特性是其基于内存的存储方式,这使得数据读取速度非常快。 Memcached的分布式...

    memcached分布式缓存数据库部署.doc

    《深入理解memcached分布式缓存数据库部署》 memcached,作为一款高性能的分布式缓存服务器,它的主要任务是缓存数据库查询结果,从而减少对数据库的访问,进而提升动态Web应用的响应速度。这一技术的广泛应用,...

    memcached分布式工具

    它通过将数据存储在内存中,为需要快速访问的数据提供高速存取服务。在大型网站和高流量应用中,memcached是常用的技术解决方案之一。 分布式工具在现代云计算和大数据环境下扮演着关键角色,它们帮助管理和协调跨...

    memcached//分布式数据缓存

    它将数据存储在内存中,避免了磁盘I/O的延迟,从而实现了高吞吐量和低延迟的性能。由于内存的限制,Memcached并不适合存储大量或持久性的数据,但它对于经常访问的热数据提供了非常有效的加速。 Memcached的工作...

    memcached构建分布式缓存[收集].pdf

    4. **非通信的分布式架构**:各个Memcached服务器之间不进行通信,分布式特性主要由客户端实现,通过算法决定数据存储在哪个服务器上。 在内存管理方面,Memcached采用了一种名为**Slab Allocation**的机制。这个...

    Memcached分布式缓存

    ### Memcached分布式缓存 #### 一、Memcached的基础 **1.1 Memcached是什么?** Memcached是一款高性能、分布式内存对象缓存系统,旨在通过减轻数据库负担来加速动态网络应用的速度。它通过在内存中缓存数据和...

    Memcached分布式缓存入门

    **Memcached分布式缓存入门** Memcached是一款高性能、分布式内存对象缓存系统,它被广泛应用于Web应用中,用于减轻数据库的负载,提高数据访问速度。这个“Memcached分布式缓存入门”资料将引导初学者深入理解...

    Memcached分布式缓存系统的应用.pdf

    2. **基于Key-Value的数据管理**:Memcached将数据存储为Key-Value对,客户端通过唯一Key值访问和操作数据。这种数据管理方式使得数据存取高效且直接。 3. **高效内存管理**:Memcached使用SlabAllocator算法对内存...

    MemCached跨平台分布式缓存

    MemCached是一种广泛应用于互联网行业的分布式缓存系统,其设计目标是提供高性能、低延迟的数据存储解决方案,以缓解数据库的压力并提升应用的响应速度。作为一款跨平台的内存对象缓存系统,它支持多种操作系统,...

    Memcached 分布式缓存实现原理 – 码农网1

    它的设计目标是简单且高效,通过将数据存储在内存中,避免了磁盘I/O带来的延迟,从而实现了快速的数据访问。 计算机体系中的缓存层次结构遵循“存储金字塔”原则,从CPU内部的寄存器到L1、L2、L3缓存,再到主内存,...

    Memcached分布式缓存简介

    3. **内置内存存储**:所有数据存储在内存中,导致系统重启时数据丢失,但这确保了高速的存取速度。 4. **相互独立的分布式**:每个Memcached服务器独立工作,无需与其他服务器通信,由客户端负责数据分发。 安装...

    .net memcached 分布式缓存应用类库

    .NET Memcached 分布式缓存应用类库是用于在.NET环境...通过正确使用.NET Memcached分布式缓存应用类库,开发者能够构建出高效、可扩展的应用,显著提升服务响应速度,降低数据库压力,提高整体系统的性能和用户体验。

    memcached 分布式缓存服务器

    3. **分布式**:通过哈希算法将键分发到集群中的不同节点,实现数据的分布式存储,提供扩展性和高可用性。 4. **LRU(Least Recently Used)策略**:当内存满时,memcached 采用 LRU 策略淘汰最近最少使用的数据。 ...

    分布式存储技术及应用

    **案例分析**:在为核高基项目设计的结构化数据分布式存储架构中,采用了一种可水平&垂直切分扩展的数据访问框架,通过独立的分布式数据访问层实现前后端分离,集成Memcached集群提高数据查询效率。此外,还利用...

    memcached全面剖析–4.memcached的分布式算法

    至于memcached的分布式,则是完全由客户端程序库实现的。这种分布式是memcached的最大特点。这里多次使用了“分布式”这个词,但并未做详细解释。现在开始简单地介绍一下其原理,各个客户端的实现基本相同。下面假设...

    大规模分布式存储系统:原理解析与架构实战,分布式服务框架原理与实践_李林锋著

    分布式存储系统是处理海量数据的关键,尤其在大数据时代,其重要性不言而喻。这类系统的设计目标通常是提供高冗余、容错性和水平扩展能力。书中可能会详细讲解以下知识点: 1. 分布式存储的基本概念:包括CAP定理、...

    20120102 net下memcached 分布式缓存系统应用

    1. **Memcached介绍**:解释Memcached是什么,它的核心特性,如内存存储、键值对操作、分布式架构等。 2. **安装与配置**:在.NET环境中安装Memcached服务器,配置客户端库,如Enyim.Caching或Memcached.NET。 3. **...

Global site tag (gtag.js) - Google Analytics