作者deuter (Harold)
看板Database
标题Re: [问题]投票限制
时间Mon Jan 24 01:42:30 2011
这跟database 好像没甚麽关系...
其实不用想这麽复杂, 每次就run query 去查票数就好了
这应该只是一个简单的select count sql, 资料库绝对有能力应付
用session 也不是好方法,
因为 web server如果reboot/reset, session data就不见了
※ 引述《magicfx (去南半球度假)》之铭言:
: 我想要设计一个投票系统
: 使用者不必注册也不必登入
: 用IP来判定使用者的身分
: 每天限制0:00-24:00
: 针对站内各议题投票
: 最多只能投一定的票数
: 好比说10票
: 超过24:00再用相同的IP浏览的话
: 又可以投10票
: 前一天没投完的票 无法累积到第二天
: 请问这样的系统该怎麽设计比较好?
: 我想到一个办法 但不知道可不可行或是效率好不好
: 就是用Session记录使用者的ip
: 然後下sql query去查出该ip今天已经投了几票
: 记录剩余票数在session里
: 然後该使用者每次投票前
: 都先检查session里剩余票数是否大於零
: 每投一票
: 剩余票数就减1
: 我的问题是
: 如果使用者开多个浏览器 这样是否会有问题
: 假设同时开两个浏览器
: ip一样
: 这样两个浏览器都可以投10票?
: 所以总计是20票?
: 如果会有这样的问题
: 是否得在每次使用者投票前
: 都下一次sql query检查已投票数?
: 这样会不会很吃伺服器资源?
: 有没有更好的设计呢?
: 麻烦指点迷津
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 75.18.242.155