【发布时间】:2010-10-29 19:11:51
【问题描述】:
设置背景:我感兴趣:
- 在用户浏览网站时捕获对书籍感兴趣的隐含信号。该网站使用 mysql、memcached、ngnix 和 apache 用 django (python) 编写
假设,例如,我的网站销售书籍。当用户浏览我的网站时,我想跟踪他们查看了哪些书籍,以及查看了多少次。
并不是我会以这种方式存储数据,但理想情况下我可以即时访问以下结构:
{user_id : {book_id: number_of_views, book_id_2: number_of_views}}
我意识到这里有几种方法:
- 一些平面文件日志
- 每次都将对象写入数据库
- 写入 memcached 中的对象
我真的不知道性能影响,但我宁愿不要在每个页面视图上都写入数据库,而且写入日志和稍后计算结构的延迟似乎不够快,无法提供好的建议在您使用该网站时即时进行,memcached 方法看起来不错,但是将这个 obj 保存在内存中是有代价的:您可能会丢失它,而且它永远不会被写入“永久”的某个地方。
你会建议什么方法? (不必是上述之一)谢谢!
【问题讨论】:
标签: python mysql django collaborative-filtering