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

memcached 入门

阅读更多

现在越来越多的企业用memcached,今天听到一个校友给我讲起了关于memcached的一些介绍。

首先,他是一个用到协议的框架,支持TCP协议,通过socket连接,常用的端口是11211,为什么要支持协议呢?这主要是通过协议,可以屏蔽掉一些语言层的东西,也就是说与具体的语言无关,java可以用RMI啥的访问,c++有它的访问机制。

其次,memcached是单线程及NIO的,所以他的效率特别高,有多线程就会有锁,就会降低效率。

        然后,他是基于key-value的,所以他就像操作一个map对象一样,常常作为数据库前一层的cache使用,如果没有命中,就会从数据库里查询。值得一提的是他的CAC操作,因为是同步环境,所以他有一套类似于AtomInteger的机制。如下所示:

for(;;){

next = now + 1;

if(now == checkNow(now))

return next;

}

只有now值没有改变的情况下,才说明没有其他线程没有改变now值,可以跳出循环,否则再自己取。

CAC也是一样的原理,不过他是通过“版本号”还标识被修改的次数的。

内存分配模块使用slab,不感兴趣,略过。


最后说一下,他被设计用在一个集群上,客户端所用的一个经典的算法-----一致性hash算法。

直观的看就是一个圈,大概分成0~2^32次方(一个无符号Int 的最大值)哥节点,通过一定的hash算法,来算出服务器的节点号,把要存的东西的key计算出hash值,都存在大于这个hash值的第一个节点上,如果在第二个节点和第三个节点上加一个节点的话,只需要改变第二个节点到现第三个节点之间的key重定向一下,存到现第三个节点上。

0
0
分享到:
评论

相关推荐

    memcached入门到理解

    memcached入门到理解 博文链接:https://johnnyhg.iteye.com/blog/237733

    memcached 入门到理解

    pdf文档 博文链接:https://wxw850227.iteye.com/blog/245293

    Memcached入门(附安装包及测试代码)

    **Memcached入门** Memcached是一款高性能的分布式内存对象缓存系统,它被广泛应用于Web应用中,用于减轻数据库的负载,提高数据访问速度。本文将详细介绍Memcached的基础知识,并提供安装包和测试代码,帮助初学者...

    memcached入门文档

    【Memcached 入门文档】 Memcached 是一个广泛使用的开源软件,它被设计为一个高性能的分布式内存对象缓存系统,特别适用于动态Web应用程序。它的主要目标是减轻数据库的负载,通过将数据和对象存储在内存中,以...

    Memcached 入门介绍(安装与配置)

    Memcached是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。 它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提供动态、数据库驱动网站的速度。 Memcached基于一个存储键值对的...

    php下Memcached入门实例解析

    **PHP下的Memcached入门实例解析** Memcached是一种高性能的分布式内存对象缓存系统,它可以用于存储数据,以减少对数据库的直接访问,从而提高应用程序的响应速度。在PHP环境中,Memcached是常用的缓存解决方案之...

    Getting started with memcached

    ### Memcached入门详解 #### 一、Memcached简介与应用场景 **Memcached**是一种高性能、分布式内存对象缓存系统,用于通过减少数据库负载来加速动态Web应用的速度。它通过在内存中缓存数据来减少对数据库服务器的...

    memcached.pdf

    《深入理解Memcached》 Memcached是一款高性能、分布式内存对象缓存系统,广泛应用于Web应用中,用于减轻数据库的负载,提升数据访问速度。它的设计目标是通过将数据存储在内存中,提供快速的键值对存储服务,以...

    memcached全面剖析

    这篇连载语言简洁、通俗易懂,非常适合 memcached 入门的人阅读。 因此我将它翻译成中文,发表在我的技术 blog( tech.idv2.com)上。然后将翻译结果合并后稍作加 工, 形成了这篇 PDF 文档,以方便阅读。

    Memcache入门到精通[张振华.Jack]

    Memcached介绍、应用场景、运行机制 Memcached安装 Memcached启动,参数 Memcached连接、监控 Memcached客户端命令 Memcached的Java客户端实例 Memcached的客户端分布式原理 Memcached的服务器端运行原理 Memcached...

    计算机后端-PHP视频教程. Memcachedmemcached(day1).pdf

    【PHP与Memcached入门】 PHP作为一款广泛应用的服务器端脚本语言,广泛用于Web开发,以构建动态交互式网站。为了提升网站性能,通常会引入缓存技术,而Memcached正是一个高效的分布式内存对象缓存系统,适用于加速...

    memcached全面剖析(入门到精通)

    memcached是一个高性能的分布式内存对象缓存系统,它被用来减少数据库负载,通过缓存数据和对象在内存中来帮助Web应用加快响应速度。它是基于libevent的事件处理机制,拥有简单的协议、内存存储方式,并且其分布式...

    Memcached分布式缓存入门

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

    Memcached快速入门资料

    **Memcached快速入门** Memcached是一款高性能、分布式内存对象缓存系统,用于减轻数据库负载,提高网站或应用程序的响应速度。它通过将数据存储在内存中,为应用程序提供快速访问,特别适合处理高并发和大数据量的...

    .NET分布式缓存Memcached从入门到实战源码下载

    总之,`.NET分布式缓存Memcached从入门到实战源码下载`这个资源提供了一个全面的学习平台,涵盖了Memcached的使用、集成、测试等方面,帮助开发者深入理解如何在.NET环境中高效地利用分布式缓存提升应用性能。...

    memcached实例

    **Memcached 实例详解** Memcached 是一个高性能的分布式内存对象缓存系统,它能够将数据存储在内存中,以减少数据库的访问压力,提高应用的响应速度。本实例将带你深入了解如何安装 Memcached 客户端,并学习如何...

    Memcache资料合集

    3. "memcached入门到理解.pdf":适合初学者,从基础开始介绍,逐步深入理解Memcached。 4. "Java_Memcache.pdf":专注于Java环境下的Memcache使用,包括客户端库的使用示例和最佳实践。 通过这些资料,你可以系统地...

    memcached详细安装

    ### Memcached 安装与配置详解 #### 一、Memcached 概述 Memcached 是一款高性能的分布式内存缓存服务器,由 LiveJournal 旗下的 Danga Interactive 公司的 Brad Fitzpatrick 领导开发。它被广泛应用于提高 Web ...

Global site tag (gtag.js) - Google Analytics