memcache的针对不同类型数据应用缓存策略 memcache缓存机制

memcached主要的作用是为减轻大访问量对数据库的冲击,所以一般的逻辑是首先从memcached中读取数据,如果没有就从数据库中读取数据写入到memcache中,等下一次读取的时候就可以从memcached中读取了。但在项目中的具体应用策略(也就是哪些数据应该缓存?怎么样缓存?过期策略?)就是个问题了。它的一个总原则是将经常需要从数据库读取的数据缓存在memcached中。这些数据也分为几类:
memcache的针对不同类型数据应用缓存策略 memcache缓存机制
一、经常被读取并且实时性要求不强可以等到自动过期的数据。例如网站首页最新文章列表、某某排行等数据。也就是虽然新数据产生了,但对用户体验不会产生任何影响的场景。
这类数据就使用典型的缓存策略,设置一过合理的过期时间,当数据过期以后再从数据库中读取。当然你得制定一个缓存清除策略,便于编辑或者其它人员能马上看到效果。
二、经常被读取并且实时性要求强的数据。比如用户的好友列表,用户文章列表,用户阅读记录等。
这类数据首先被载入到memcached中,当发生更改(添加、修改、删除)时就清除缓存。在缓存的时候,我将查询的SQL语句md5()得到它的hash值作为key,结果数组作为值写入memcached,并且将该SQL涉及的table_name以及hash值配对存入memcached中。当更改了这个表时,我就将与此表相配对的key的缓存全部删除。
三、统计类缓存,比如文章浏览数、网站PV等
此类缓存是将在数据库的中来累加的数据放在memcached来累加。获取也通过memcached来获取。但这样就产生了一个问题,如果memcached服务器down掉的话这些数据就有可能丢失,所以一般使用memcached的永固性存储,这方面我们新浪使用memcachedb。
四、活跃用户的基本信息或者某篇热门文章。
此类数据的一个特点就是数据都是一行,也就是一个一维数组,当数据被update时(比如修改昵称、文章的评论数),在更改数据库数据的同时,使用Memcache::replace替换掉缓存里的数据。这样就有效了避免了再次查询数据库。
六、session数据
使用memcached来存储session的效率是最高的。memcached本身也是非常稳定的,不太用担心它会突然down掉引起session数据的丢失,即使丢失就重新登录了,也没啥。

  

爱华网本文地址 » http://www.aihuau.com/a/25101012/128798.html

更多阅读

matlab的使用:8 如何画不同类型的三维图像

matlab的使用:[8]如何画不同类型的三维图像——简介这是本系列经验的第八篇,主要介绍用matlab软件画三维图像的一些相关函数,使用这些函数可以很方便的画出想要的图形,非常直观好用。matlab的使用:[8]如何画不同类型的三维图像——工具/

ps教程:蒙版的类型及应用详解

蒙版在PS里的应用相当广泛,蒙版最大的特点就是可以反复修改,却不会影响到本身图层的任何构造。如果对蒙版调整的图像不满意,可以去掉蒙版原图像又会重现。真是非常神奇的工具。ps教程:蒙版的类型及应用详解——工具/原料photoshop5.0以

不同类型的猪的猪饲料配方详解 百日出栏猪饲料配方

不同类型的猪的猪饲料配方详解科学的猪饲料配方一要多样合理,保证营养全面。在喂猪的青、粗、精三种饲料中,青料含水分多,体积大,易消化,适口性好,并含有多种维生素、矿物质和质量好的蛋白质;粗料体积大,粗纤维含量较高;配合合理,可增加饲

不同类型的文件合并 excel同类型数据合并

大家肯定都知道COPY命令的主要作用是复制文件,其实它还有个妙用。就是可以将每个同类型或不同类型的文件合并。如果将一些不同类型的文件合并起来,就可以起到隐藏隐私的作用,  一,准备加密条件  准备一个EXE执行文件,或者是图片的文

声明:《memcache的针对不同类型数据应用缓存策略 memcache缓存机制》为网友恍如隔世分享!如侵犯到您的合法权益请联系我们删除