memcached

✍ dations ◷ 2025-11-27 22:58:00 #开放源代码,电脑内存,键-值数据库

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内的信息:

相关

  • 刺胞动物刺胞动物门(拉丁学名:Cnidaria;/naɪˈdɛəriə/),旧名腔肠动物门,又名刺丝胞动物门、刺细胞动物门,是一个包含有超过2万多个动物物种的门 ,皆为生活于水中(包括淡、海水或其他咸水
  • Mg(IOsub3/sub)sub2/sub碘酸镁是一种无机化合物,化学式为Mg(IO3)2。碘酸镁可由硝酸镁的硝酸(7mol/L)溶液和碘酸锂的硝酸溶液或碘酸反应得到。碘和氧化镁在水的存在下反应,也会得到碘酸镁。
  • 沉积沉降又称沉积、沉淀,是悬浮液的粒子下沉积聚的过程。原因可以是地心吸力、离心力或电磁力。在地理学,沉降通常是侵蚀作用的相反,亦即沉积物迁移的最终结果;过程包括跃移。不同大
  • 贾宝玉贾宝玉是《红楼梦》中的第一主角,与江南甄家甄宝玉同名同形,作者以“甄”、“贾”之姓暗喻“真”、“假”。为荣国府二老爷贾政和王夫人所生的二子,出场时其兄贾珠已死,故为贾政
  • 双杂合系统酵母菌双杂合系统,英文为Yeast two-hybrid system,亦简称Two-hybrid screening,是一种研究蛋白质交互作用 或蛋白质和DNA交互作用的实验技术。此系统的基本原理是报导基因上游
  • 富阳市富阳区是中国浙江省杭州市的市辖区,位于杭州市西南部,与西湖区、萧山区、余杭区、临安区和桐庐县接壤,距杭州市中心32公里,辖区总面积1831平方公里,户籍人口65.9万(常住人口71.7万
  • 俄亥俄级弹道导弹核潜艇俄亥俄级核潜艇(英语:Ohio-class submarine)是美国海军1976年开始建造的一个核动力潜艇等级,与苏联的台风级潜艇同为冷战时期典型产物。现今,共有18艘俄亥俄级潜艇在美国海军中
  • 香蕉水香蕉水(lacquer thinner, banana oil, isoamyl acetate),又名天那水,是一种由多种有机溶剂配制而成的溶液。因有乙酸戊酯或乙酸异戊酯的香蕉味,故得名香蕉水。无色透明液体。极易
  • 自卑情结自卑情结(英语:Inferiority Complex)指对自己的怀疑、不确定,并缺乏自尊的现象,但目前没有统一的标准测量该情结的严重程度。自卑情结通常存在于潜意识当中,容易造成当事人的过度
  • 爆炸地震效应爆炸地震效应(英语:seismic effect of explosions)是指因炸药在岩层或土壤层中爆炸而对地层和建筑物产生同天然地震相似的影响。爆炸地震波在传播过程中由于介质阻尼的作用,其能