memcached

✍ dations ◷ 2025-11-20 11:32:33 #开放源代码,电脑内存,键-值数据库

memcached是一套分布式的高速缓存系统,由LiveJournal的Brad Fitzpatrick开发,但目前被许多网站使用。这是一套开放源代码软件,以BSD license授权发布。

memcached缺乏认证以及安全管制,这代表应该将memcached服务器放置在防火墙后。

memcached的API使用三十二比特的循环冗余校验(CRC-32)计算键值后,将数据分散在不同的机器上。当表格满了以后,接下来新增的数据会以LRU机制替换掉。由于memcached通常只是当作缓存系统使用,所以使用memcached的应用程序在写回较慢的系统时(像是后端的数据库)需要额外的代码更新memcached内的数据。

将纯粹使用数据库查询的代码加上memcached支持是很简单的,假设这是原来的代码:

function get_foo (int userid) {   result = db_select("SELECT * FROM users WHERE userid = ?", userid);   return result;}

加上memcached的缓存机制后:

function get_foo (int userid) {    result = memcached_fetch("userrow:" + userid);    if (!result) {        result = db_select("SELECT * FROM users WHERE userid = ?", userid);        memcached_add("userrow:" + userid,  result);    }    return result;}

上述的程序会先到memcached检查是否有userrow:userid的数据,如果有则直接传回结果,如果不存在时再去数据库查询,并将结果放到memcached内。

在memcached内已经有缓存信息时将数据库的数据更新后,上述的程序会抓到旧的数据,这是属于Cache coherency的问题。其中一种解决的方法是在更新数据库时,同时更新memcached内的信息:

相关

  • 补体补体系统(英语:complement system)由一系列的蛋白质组成,属先天免疫系统的一部分。补体系统透过一连串的酵素(酶)相互切割启动,最终在目标微生物上形成类似孔洞的膜攻击复合物(Memb
  • 面粉面粉是一种由小麦类磨成的粉末,是最常见的食品原料之一。欧洲旧石器时代晚期的地层,大约距今三万年前,已有将小麦磨粉制成发酵的粮食饼之考古证据。小麦和大麦在新月沃土被驯化
  • 身体抽蓄惊厥(英语:Convulsion),亦称惊风,在医学上指肌肉突然紧张、松弛而导致身体失控颤抖的状况。因为症状与癫痫发作相似而被混淆,但并不是所有的癫痫发作都会导致惊厥。和西医所指的广
  • 维客旅行维客旅行(Wikitravel)计划的目的是创造一个内容开放、完整、及时而且可靠的全球旅游指南。虽然它使用wiki模式来创作指南内容,并且将之置放于万维网,这个计划仍然希望能够生产出
  • 萨尔广播公司萨尔广播公司(德语:Saarländischer Rundfunk)是位于德国萨尔布吕肯的一个公共广播电视公司,也是德国公共广播联盟的九个加盟公司之一。播出地区是萨尔州。
  • 邓肯蒂莫西·西奥多·邓肯(英语:Timothy Theodore Duncan,1976年4月25日-),一般称为蒂姆·邓肯(Tim Duncan),绰号“大基本功”(The Big Fundamental)、“叮当肯”(Tinkle Can)、“石佛”、“T
  • 酸微菌亚纲酸微菌亚纲(Acidimicrobiia)是放线菌的一个亚纲,其中已描述了三个科,八个属和九个种。医学导航:病菌细菌(分类)gr+f/gr+a(t)/gr-p(c/gr-o药物(J1p、w、n、m、疫苗)
  • 莫比尔 (阿拉巴马州)莫比尔(英语:Mobile,/moʊˈbiːl/,,法语发音:.mw-parser-output .IPA{font-family:"Charis SIL","Doulos SIL","Linux Libertine","Segoe UI","Lucida Sans Unicode","Code2000",
  • 板龙属板龙属(属名:)是蜥臀目蜥脚形亚目植食性恐龙的一属。板龙生存于三叠纪诺利阶到瑞提阶的欧洲,约2亿1400万年前到2亿400万年前。目前已有两个已承认种:恩氏板龙()与纤细板龙(),过去曾经
  • 水环境水环境(Water Enviornment),也称水文环境,是指一类与传输、储存和提供水资源的水体形成的系统,它兼顾生物生存、繁衍的栖息地,以及水、固体、大气污染物等组成进行能量与物质交换