🦄 FreeRedis is .NET40+ redis client. supports cluster, sentinel, master-slave, pub-sub, lua, pipeline, transaction, streams, redisearch, client-side-caching, and pooling.
925
stars
166
forks
source link
feat(LockController): 增加HandleLostToken #212
Closed
izanhzh closed 5 days ago
LockController
的Refresh方法,当网络异常等原因无法连接到Redis服务器时会触发异常,虽然概率很小,但是我实际项目中的确遇到过,由于_autoDelayTimer
这个线程的异常没有地方捕捉处理,从而导致整个应用程序崩溃了。我增加上了try/catch处理,同时参照DistributedLock的Detecting handle loss设计,增加了HandleLostToken,用于当Refresh方法无法执行时,
_autoDelayTimer
也被释放了,应用程序可以获知这个信息,及时做出一些应对的业务逻辑操作