我有一个使用Codeigniter创建的AJAX版列表网页,我希望注册用户能够区分他们以前看过的列表。
当前的尝试:在单击清单时,将清单id发送给服务器端PHP,它将(使用INSERT... ON DUPLICATE KEY UPDATE) listing_id、user_id、view_timestamp插入到一个表中,其中包含自动增量的viewed_id。每次访问者进行新的搜索时,所有listing_id和他的user_id都会通过.getJSON()从MySQL表中检索,并且通过一个循环,这些先前查看过的清单的CSS将被更改。
我的问题是这种方法是否涉及到服务器上太多的工作。
如果使用Codeigniter自动保存到数据库中的serialized?
listing_id吗?当用户查看instead?。
注意:对于先前查看过的清单的listing_id的AJAX请求数量的估计,一般用户每20秒进行一次新的搜索。
发布于 2012-04-08 10:06:08
对于这种功能,我不会涉及数据库,而是考虑客户端解决方案,比如使用localStorage存储Json数据,或者如果您想要更广泛的浏览器支持(或者需要从php代码存储它,而不能从javascript存储它)。如果您必须将这些信息存储在数据库中,我仍然会查看解决方案,以尽可能多地缓存客户端上的信息,就像您在第3点中描述的那样。
https://stackoverflow.com/questions/10059333
复制相似问题