首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >socket.io-redis是如何在幕后工作的?

socket.io-redis是如何在幕后工作的?
EN

Stack Overflow用户
提问于 2016-01-29 06:45:40
回答 2查看 1.4K关注 0票数 1

我计划将消息(聊天消息)存储在redis上,我偶然发现了socket.io人员创建的一个库socket.io-redis。我只想知道如果我使用这个库,它会对我当前的socket.io实例做什么?

它会自动保存后台的所有消息吗?

例如,我需要使用socket.io-redis在我的socket.io之上实现redis的唯一代码是

代码语言:javascript
复制
var redis = require('socket.io-redis');
var adapter = redis({ host : 'localhost', port : 6379});
io.adapter(adapter);

所以问题是它在幕后到底做了什么?我是否需要安装node_redis来存储聊天消息?

EN

回答 2

Stack Overflow用户

发布于 2016-01-30 02:29:59

我相信你误解了这个项目。引用他们的页面:

通过使用socket.io-redis适配器运行socket.io,您可以在不同的进程或服务器中运行多个socket.io实例,这些实例都可以相互广播和发出事件。

这意味着使用此模块将提供一个socket.io集群,从而能够在运行在不同进程或服务器上的客户端之间发送消息

票数 3
EN

Stack Overflow用户

发布于 2018-12-24 19:18:59

当然,如果你想在聊天应用程序中存储消息,Redis不是一个好主意。它在内存上运行。您需要使用DB解决方案在磁盘上工作。你可以在你的socket io应用程序中使用仍然Redis,但不能用于存储数据。通常,人们在socket.io应用程序上使用Redis作为底板。例如,您开发了一个socket.io应用程序,并希望使其具有多个实例,您需要共享数据,因为您要将一条消息推送到一个实例,同时其他实例也应通知该消息。在这一点上,Redis pub,子结构将为您提供帮助。

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

https://stackoverflow.com/questions/35073610

复制
相关文章

相似问题

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