首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >最快的Finger First App架构- Redis

最快的Finger First App架构- Redis
EN

Stack Overflow用户
提问于 2013-03-13 03:35:10
回答 1查看 240关注 0票数 0

我正在写一个“最快的手指优先”的Node.JS应用,使用智能手机作为蜂鸣器。我打算使用Socket.IO来处理进入应用程序的答案,但不知道存储数据以便在回合结束时进行比较的最佳方式是什么。

我最初的想法是将每个传入套接字事件的应答数据插入到Redis中,因为它是基于RAM的,我的假设是它会很快。但是,按顺序将每个答案放入一个数组中是不是更好?在传入的套接字事件期间,这种情况会持续下去吗?

希望这听起来很简洁!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-03-13 03:44:52

你说数组会更快,这是正确的。这取决于您计划支持多少用户,以及您计划如何扩展。如果你想做一个任何人都可以创建“游戏”的“服务”,并且你计划在你的平台上支持数十万个“游戏”,那就使用Redis吧,因为你可能需要扩展你的web层,一个web服务器上的嗡嗡声不会出现在另一个web服务器上。

但是,如果你这样做是一次性的,是为了一次支持一个游戏,甚至可能是从通过wifi连接到你的笔记本电脑的朋友那里(尽管互联网上的一个小型Heroku服务器也可以工作),那么我会使用一个数组。与外部数据库(即使是像Redis一样快的数据库)的通信增加了复杂性。Node.js是事件和单线程的,这意味着您不必担心竞争条件。你可以写

代码语言:javascript
运行
复制
var firstPresser;
socket.on('press', function (presser) {
    if (!firstPresser) {
        firstPresser = presser;
        // return "You pressed first"
    } else {
        // return "You didn't press first"
    }
});

请原谅我的伪代码,我对socket.io不是很熟悉,但是我想你已经明白了。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15370526

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档