Redis
 sql >> Datenbank >  >> NoSQL >> Redis

Stackexchange.redis fehlt die WAIT-Unterstützung

WAIT ist im Wesentlichen eine blockierende Operation, die gegen das Programmiermodell der gemeinsamen Nutzung von Verbindungen verstößt, von dem die Bibliothek abhängt (mehr dazu hier). Also nein, das ist nicht offengelegt.

Wir diskutieren Ideen, um ein vielseitigeres Pool-/Leasingmodell sowie zu ermöglichen das standardmäßige gemeinsame Modell, aber im Moment:das existiert nicht. Aber genau das würde das Blockieren von Befehlen "sicher" machen.

Sie können es manuell über Execute ausführen , aber wenn Sie das tun:Sie sind auf sich allein gestellt; Wenn es explodiert oder irgendein Problem verursacht ... viel Spaß damit!

Folgendes wird nicht unterstützt (im Wesentlichen gibt es eine Sperroperation aus), aber wenn es funktioniert - es funktioniert; wenn es Probleme verursacht - es verursacht Probleme:

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