2008-04-01
答复: 请做架构的朋友一起讨论下SNS中好友动态功能建模的设计
关键字: sns, memcached, dbm
赫赫,这个话题有意思,我想应该是:
1.DBM(QDBM,NDBM,BDB等)存储用户的ID以及Memcached信息
key--->ID
value--->memcahcedID(location)
2.通过Memcached获取用户相关信息
相关信息包含:
1.用户个人信息,状态
2.好友信息
3.行为状态
key--->id
value--->user(info,friend,action)
关于如何获取用户的相关信息,robbin已经提到了,通过用户的crud获取相关变化信息。
基于memcached的get/set是足够快的。对数据库压力方面的好处就不用提了。
至于使用什么语言,php,java,c,ruby,python等都可以,memcached都有相关语言的接口。
如果你的系统比较小或用户比较小。
第一步可以省略。
第二步memcached可以使用mysql或hsqldb进行替换。
1.DBM(QDBM,NDBM,BDB等)存储用户的ID以及Memcached信息
key--->ID
value--->memcahcedID(location)
2.通过Memcached获取用户相关信息
相关信息包含:
1.用户个人信息,状态
2.好友信息
3.行为状态
key--->id
value--->user(info,friend,action)
关于如何获取用户的相关信息,robbin已经提到了,通过用户的crud获取相关变化信息。
基于memcached的get/set是足够快的。对数据库压力方面的好处就不用提了。
至于使用什么语言,php,java,c,ruby,python等都可以,memcached都有相关语言的接口。
如果你的系统比较小或用户比较小。
第一步可以省略。
第二步memcached可以使用mysql或hsqldb进行替换。
评论
masterkey
2008-04-01
有朋友提到了缺少时间排序问题。
其实friend 使用vector,自身随访问先后顺序。
action 使用vector,是包含time,actionObj
取回来,进行排序。
其实friend 使用vector,自身随访问先后顺序。
action 使用vector,是包含time,actionObj
取回来,进行排序。
发表评论
- 浏览: 33048 次
- 性别:

- 来自: 北京

- 详细资料
搜索本博客
最近加入圈子
链接
最新评论
-
一位台湾校长的震动所有中 ...
如果这样的校长能占到中国所有学校的千分之一,今日的中国就不会是现在的这种样子了。
-- by bnmcvzx -
关于memcachefs
是采用memcached作为存储介质的一种文件系统。memcached可以运行于 ...
-- by masterkey -
关于memcachefs
和普通基于内存的文件系统相比有什么特点?
-- by 都别装了 -
nginx 0.7.1 release
我发现discuz已经在用nginx7.0,那说明这个版本已经完全可以运用于商业 ...
-- by Arden -
nginx 0.7.1 release
这是开发版
-- by 剑 事






评论排行榜