memcached

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

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

相关

  • 奥克兰奥克兰(英语:Auckland;毛利语:Tāmaki Makaurau 或 Ākarana),老华侨译作屋仑,是新西兰的一个都会区,位于南太平洋南纬37度,为新西兰人囗最多的城市,也是北岛最大的城市。人口约150万,
  • Netscape BrowserNetscape Browser是Netscape网页浏览器的第8版,改写自Mozilla基金会的Mozilla Firefox浏览器,不同于以往导航者(Navigator)与邮件软件(Netscape Mail & Newsgroups)一起推出的套装
  • 先秦时期先秦,全称为先秦时期(又称先秦时代),是中国古代史中的一段时间,有指秦始皇焚书之前的一段时间,或更狭义专指历史上的春秋战国时期;也可作为秦朝以前(公元前221年以前)时代的统称,即上
  • 阿里斯塔克斯阿里斯塔克斯(希腊语:Ἀρίσταρχος,Aristarkhos;公元前310年-前230年),古希腊天文学家,数学家。他生于古希腊萨摩斯岛。他是史上有记载的首位创立日心说的天文学者,他将太阳
  • 约翰·阿塔·米尔斯约翰·阿塔·米尔斯(英语:John Atta Mills,1944年7月21日-2012年7月24日),加纳总统。米尔斯出生于加纳西南部城市塔夸,1967年在加纳大学毕业并获学士学位,后获得伦敦亚非学院法学博
  • 泰晤士河口坐标:51°30′N 0°35′E / 51.500°N 0.583°E / 51.500; 0.583泰晤士河口(英语:Thames Estuary)是泰晤士河注入北海的河口。在大不列颠岛的170个出海口中,泰晤士河是其中最大的
  • 大波士顿大波士顿是指马萨诸塞州紧靠波士顿的地区。都会区总人口约440万,列美国第11位。 人口普查办公室按照美国行政管理和预算局的基于核心的统计区域(英语:Core Based Statistical
  • 加拿大勋章加拿大勋章(英语:,法语:),是加拿大的最高平民荣誉勋章,也是最重要的加拿大荣誉制度。勋章的资格是授予那些坚守勋章的拉丁格言的人,取自《希伯来书》11:16,“”,含意是“期望有个更好的
  • 1,3-二磷酸甘油酸1,3-双磷酸甘油酸也称为1,3-二磷酸甘油酸(英语:1,3-Bisphosphoglycerate或1,3-Disphosphoglycerate;缩写1,3BPG或1,3DPG),是生物细胞中的常见分子之一,通常是糖解作用与卡尔文循环
  • 珍妮·克拉克珍妮弗·爱丽斯·克拉克(英语:Jennifer Alice Clack,1947年11月3日-2020年3月26日),FRS,是一位英格兰古生物学家、进化生物学家,主要研究方向为鱼类向四足类的演化——早期四足类的