Comments (3)
According to redis/node-redis#2502 (comment), the sUnsubscribe(Array[])
assumes all the channels use "hash tags", so they are allocated to the same slot.
In socket.io-redis-adapter, there is dynamic channels, so sUnsubscribe
one by one looks more doable.
Additionally, this is the usage of iosredis, it does not support array, but spread parameters.
https://github.com/luin/ioredis/blob/a3838ae7598c7d9d3aff688923403f6176d7a393/lib/utils/RedisCommander.ts#L8356
/**
* Stop listening for messages posted to the given shard channels
* - _group_: pubsub
* - _complexity_: O(N) where N is the number of clients already subscribed to a shard channel.
* - _since_: 7.0.0
*/
sunsubscribe(callback?: Callback<unknown>): Result<unknown, Context>;
sunsubscribe(
...args: [
...shardchannels: (string | Buffer)[],
callback: Callback<unknown>
]
): Result<unknown, Context>;
sunsubscribe(
...args: [...shardchannels: (string | Buffer)[]]
): Result<unknown, Context>;
from socket.io-redis-adapter.
Hi! Thanks for raising the issue, I'm digging into this.
from socket.io-redis-adapter.
This should be fixed by 2da8d9e, included in version 8.2.1.
@ngot thanks for the analysis 👍
from socket.io-redis-adapter.
Related Issues (20)
- Consult about a logic problem in the code
- Retrieving number of connected sockets using `fetchSockets` without getting all socket information HOT 5
- Make subscription client optional HOT 1
- Proper way to use this adapter with ioredis HOT 2
- Feature request: limit nodes hit by "serverSideEmit" and "fetchSockets" in sharded adapter
- Error on websocket multi instance using redis-adapter HOT 1
- This.io.sockets.adapter.pubClient.isReady becomes false and is never ready again HOT 2
- Error: 23984 trailing bytes HOT 5
- dynamic subscription mode breaks remote socket.emit() HOT 3
- [email protected]: timeout reached while waiting for fetchSockets response
- MaxListenersExceededWarning due to SSUBSCRIBE/SUNSUBSCRIBE memory leak HOT 2
- the below error occurs when the user disconnect from the socket HOT 1
- the below error occurs when the user disconnect from the socket HOT 1
- Socket.io adapter HOT 1
- TypeError with @socket.io/redis-adapter on Node.js v18.15.0 HOT 5
- Lot of "ignoring unknown request" in Debug HOT 5
- Unnecessary psubscribe Operations in Namespaces Without Local Clients Increasing Redis Pub/Sub Channels HOT 2
- Unnecessary on("error") handlers
- Class extends value undefined is not a constructor or null HOT 3
- Cannot install package with 'npm install @socket.io/redis-adapter' HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from socket.io-redis-adapter.