数据存储用于捕捉投票并对其进行汇总
我感兴趣的是使用Node.js作为套接字服务器与数以万计的客户端进行基于stream的通信。 客户将发送特定内容的投票,并从服务器接收汇总投票logging的近实时更新。
数据存储需要支持:
- 储存票
- 总结几乎实时的投票
- 防止在任意时间段内发生多次投票(例如,客户每1分钟只能投一次内容)
已经有Node.js的客户端库的东西将是可取的。
我强烈build议Redis 。 这是一个具有设置和列表操作的键/值存储。 它还支持计数器的primefaces操作。 在github上有一个Node.js的Redis客户端。 以下是我将如何实现您的function:
储存票
INCR votes:option:<option>
总结选票
MGET votes:option:<option1> votes:option:<option2> ... votes:option:<optionN>
防止多次投票(为客户端IP创build一个到期的locking密钥)
EXPIRE lock:<encoded ip> 60