如何记住使用cookie比使用cookie更容易?

ZTe*_*ter 5 php mysql cookies ajax voting

用一个有效的例子描述我的问题是最简单的:即使你没有登录,YouTube也会记住你看过的内容,下次根据以前看过的电影给你建议.

我的网站在某种程度上类似:用户可以在不登录的情况下对文章进行投票,并且网站会记住使用Cookie的投票.我已经找到了一种工作方法,但必须有一种更简单的方法 - 现在数据库的使用还不过是优化的.

对于每位访客,都会检查他是否有饼干.如果是,我查询他的投票.如果不是,我创建一个虚拟用户,并将他发送出去.现在我将此用户存储为"last_visit"时间戳.在此之后,两个用户的一切都是相同的.我的问题是我的数据库填满了虚拟用户,所以我让我的cookie在3个月后到期,我的网站定期检查哪些用户在过去3个月内没有访问我的网站,并从数据库中删除它们.

我知道我过于复杂了,但我的投票系统正在使用AJAX,我找不到一种方法来发送一个cookie(并创建虚拟用户)只有在投票发生时而不是每次简单的访问者浏览我的网站时 - 没有投票.

还有一个注意事项:我坚持使用cookies - 我知道在投票时更容易存储IP-s,但是有学校,企业使用相同的IP,我喜欢让用户使用我的网站.

我在这里想念的是什么?如何优化?

dqh*_*cks 1

如果他们没有永久帐户,为什么要在数据库中存储与他们相关的任何内容?只需在 cookie 中记录他们之前的投票即可。您还可以将所有投票存储在数据库中,但是是匿名的,并且根本不将这些投票与“用户”相关联。