免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 13750 | 回复: 15
打印 上一主题 下一主题

memcache数据如何持久化,求高手指点 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-01-01 22:16 |只看该作者 |倒序浏览
最近要优化一个项目,不知道如何实现,不知道有高人没,出来指点一下,谢谢了
开发语言:php,数据库mysql
    要求:需要写数据时候,直接写到memcache里面,利用其他异步方式把memcache里面数据刷到DB里面,查询直接在在memcache里面查询,第一次查询也是,利用异步方式定时把DB内容刷到memcache上面
    传统的缓存技术都是第一次查询DB,然后放到memcache里面,以后就读缓存,但是这样还是在性能上瓶颈,这个要求我看到人人网好像用的是这种方式,但没有透漏具体是如何实现的,关键是异步刷新服务如何做?

论坛徽章:
0
2 [报告]
发表于 2011-01-02 09:48 |只看该作者

论坛徽章:
0
3 [报告]
发表于 2011-01-02 10:43 |只看该作者
自己顶下,期待更加详细的解决方案

论坛徽章:
0
4 [报告]
发表于 2011-01-02 11:11 |只看该作者
可以用再加个队列的方式来实现,将写入memcache的key写入队列,然后跑后台程序处理队列把从memcache读数据写入DB

论坛徽章:
0
5 [报告]
发表于 2011-01-02 21:51 |只看该作者
可以用再加个队列的方式来实现,将写入memcache的key写入队列,然后跑后台程序处理队列把从memcache读数据写 ...
网鬼 发表于 2011-01-02 11:11



   
队列也要考虑持久化,如此大费周折过后,也许结果还是实现了另一个db结构,甚至还不如主从结构的mysql

论坛徽章:
0
6 [报告]
发表于 2011-01-04 12:06 |只看该作者
自己写一个adapter的php层,这个层就定期做新数据更新到mysql,读取mysql的新数据。
然后其他php代码只用这个php层。

论坛徽章:
0
7 [报告]
发表于 2011-01-04 12:45 |只看该作者
自己写一个adapter的php层,这个层就定期做新数据更新到mysql,读取mysql的新数据。
然后其他php代码只用这 ...
maochanglu 发表于 2011-01-04 12:06

   
"这个层"的数据还是无法持久化,和普通缓存无区别

论坛徽章:
0
8 [报告]
发表于 2011-01-04 13:26 |只看该作者
回复 5# bs


    队列只是用来存储写入memcache中的内容的key,便于后台程序从memcache里取数据写入db,这个key内容不需要持久化吧


  其实楼主这种问题解决方法应该不难,只是主要看具体应用逻辑

论坛徽章:
0
9 [报告]
发表于 2011-01-04 14:00 |只看该作者
回复  bs


    队列只是用来存储写入memcache中的内容的key,便于后台程序从memcache里取数据写入db, ...
网鬼 发表于 2011-01-04 13:26




持久化的目的就是为了把缓存数据转移到安全介质,
而队列传递的关键就是值,不会因为期间缓存数据的消失而消失,
而如果处理程序还要重新从缓存中读数据那么队列就完全没有意义了,

缓存当了,列队里留着键有什么用,还怎么持久?

论坛徽章:
0
10 [报告]
发表于 2011-01-04 14:10 |只看该作者
队列这种东西适合大规模海量处理的应用环境,中小环境使用只会增加系统复杂度且无法提升性能

不可人言亦言.
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP