我正在使用socket.io在heroku上托管一个应用程序。它使用套接字,我使用的是heroku 4标准1X dynos。所以为此我使用了redistogo服务和socket.io-redis插件。它工作得很好,但我想知道socket.io-redis在套接字断开时也会清除redis db中的数据。 Heroku redis goto服务仅提供20MB数据存储。 。请指导socket.io-redis如何在redis数据库中插入和清除数据。
答案 0 :(得分:1)
假设您指的是https://github.com/Automattic/socket.io-redis/blob/master/index.js,该插件似乎使用了Redis' PubSub功能。 PubSub不会在Redis数据库中维护状态,因此无需清除任何数据。
答案 1 :(得分:0)
会话存储负责在套接字断开连接时清理会话。我在会话存储区中使用https://github.com/tj/connect-redis。
以下是断开连接后正确清理套接字连接的示例。
//manifest file
{
"name": "MyExtension",
"version": "1",
"browser_action": {
"default_icon": "icon.png"
},
"background": {
"scripts": [ "background.js" ]
},
"permissions": ["tabs"],
"manifest_version": 2
}
//background script
background.js
chrome.browserAction.onClicked.addListener(function(activeTab){
chrome.tabs.create({'url':"chrome://newtab" });
});