-
Notifications
You must be signed in to change notification settings - Fork 2.6k
-
Currently, the schema that is recognized for a Unix socket connection is "unix" but that is a terrible name for a schema. It is only useful in a context that is constrained to only refer to Redis. One would never want to use that, for instance, as a URL for Celery/Kombu where the URL can be used to specify any of several kinds of backend of which Redis is only one.
Is it possible that "unix" is also too specific? Might it also possibly refer to a Windows named pipe at some time in the future?
...so I suggest maybe "redis+socket://" where "socket" is more general than "unix", and the schema name is also distinct from Lettuce's "redis-socket://" (with a dash, not a plus) which has a different structure.
Beta Was this translation helpful? Give feedback.
All reactions
Replies: 1 comment 1 reply
-
Hi @stevecj, thanks for the suggestion!
I believe this schema pattern relates to one of the AbstractConnection
subclasses—specifically UnixDomainSocketConnection
, which works with Redis instances configured to listen on a socket file. Since Unix Domain Sockets are specific to Unix-like systems, they’re generally not exposed on Windows.
If you have an idea for how something other than Unix could be supported, I’d be happy to review a PR with a POC and a brief explanation of the use case it would cover.
Beta Was this translation helpful? Give feedback.
All reactions
-
Since Windows has named pipes that are very much like Unix sockets, I thought that, even if the schema we're talking about only supports Unix now, it might be good for the schema name (since my suggestion is to add a new schema name) to not be Unix specific in case it might also be used to support Windows named pipes in the future.
For now, I'm just suggesting that whatever schema name we add simply be an alternative to "unix://" with identical behavior and structure.
Beta Was this translation helpful? Give feedback.