You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
is this issue currently blocking your project? (yes/no): no
is this issue affecting a production system? (yes/no): yes
Context
node version: 18.3.0
module version: 6.0.2
environment (e.g. node, browser, native): node
used with (e.g. hapi application, another framework, standalone, ...): hapi.js
any other relevant information:
What problem are you trying to solve?
This project uses ioredis's Redis.psetex/get for writing and reading user data as string data. This requires applications to deserialize cache data when reading.
Do you have a new or modified API suggestion to solve the problem?
Alternatively, class Redis has a call method that supports direct Redis commands, such as GET, SET, JSON.GET, JSON.SET, etc. This project should be changed to exclusively use the call method and support all Redis supported commands. This can easily be done using a modifier to prefix commands.
There does seems to some inconsistency between the set/psetex methods and call. It would be nice to pass command options right on the call, but I guess the extra expire can take care of that if it can be done in an async way.
The text was updated successfully, but these errors were encountered:
I don't see how the native JSON.<X> methods can give any advantage to us. They allow to directly access embedded JSON objects / values, but we always use the root. The interface to the REDIS server is still string-based, so there is no change in serialization, except that ioredis now controls it.
These new methods are also not compatible with the open-source releases of redis.
Finally, changing to use call will break the interface for users that use the client option with alternative or custom clients.
Support plan
Context
What problem are you trying to solve?
This project uses
ioredis
'sRedis
.psetex
/get
for writing and reading user data as string data. This requires applications to deserialize cache data when reading.Do you have a new or modified API suggestion to solve the problem?
Alternatively, class
Redis
has a call method that supports direct Redis commands, such asGET
,SET
,JSON.GET
,JSON.SET
, etc. This project should be changed to exclusively use thecall
method and support all Redis supported commands. This can easily be done using a modifier to prefix commands.Examples:
With
prefix
=''
,'json.'
, etc based on plugin optionThere does seems to some inconsistency between the
set
/psetex
methods andcall
. It would be nice to pass command options right on thecall
, but I guess the extraexpire
can take care of that if it can be done in an async way.The text was updated successfully, but these errors were encountered: