sql >> Base de Datos >  >> NoSQL >> Redis

Stackexchange.redis carece del soporte WAIT

WAIT es esencialmente una operación de bloqueo, que viola el modelo de programación de conexión compartida del que depende la biblioteca (ver más aquí). Así que no, esto no está expuesto.

Estamos discutiendo ideas para permitir un modelo de pool/arrendamiento más versátil así como el modelo compartido predeterminado, pero ahora mismo:esto no existe. Pero esto es lo que haría que los comandos de bloqueo fueran "seguros".

Puede emitirlo manualmente a través de Execute , pero si haces eso:estás solo; si explota o causa algún tipo de problema... ¡diviértete con eso!

Lo siguiente no es compatible (esencialmente emite una operación de bloqueo), pero si funciona, funciona; si causa problemas, causa problemas:

var tran = db.CreateTransaction();
_ = tran.StringSetAsync("mykey", cacheItem);
_ = tran.ExecuteAsync("wait", 2);
tran.Execute();