【发布时间】:2012-10-07 05:49:06
【问题描述】:
我有一个用户浏览搜索结果的网站。记住用户查看了哪些结果并将它们标记为Viewed 将很有用。
问题:要实现这样的Recently Viewed列表功能,推荐的方法是什么?
使用像 MySQL 这样的 RDBMS。每次用户单击链接时,向服务器发出 AJAX 调用以将新行插入到表
views中,其中列id、user_id、item_id、timestamp。在显示任何搜索结果之前,将根据表views检查每个项目的id,以确定该列表是否将标记为viewed。 (如果这有帮助,我的 PHP 框架 Laravel 可以使用数据库或 redis 作为会话驱动程序而不是使用 cookie)使用像 Redis 这样的内存数据存储。我对redis/memcached没有经验,想到用这个的原因是因为大量写入
viewed表,而读取主要是通过主键选择的(Redis中有索引的概念吗? ?)
感谢您提出的任何建议和意见,尤其是那些对这两种技术有经验的人。
【问题讨论】:
-
您是否打算在当前浏览会话之后保留此内容?
-
是的,它应该持续到 2 周后,在那里可以修剪
views表。观看历史记录仅对注册用户开放。 -
不清楚为什么这被标记为
postgresql