C# StackExchange.Redis中HashSet线程安全问题

系统Centos7.2 64位, 语言C#, 运行环境 docker.io/microsoft/dotne 2.2.105,redis 4.0

程序逻辑:
程序启动时,用redis.HashSet(key, field, defaultValue, When.NotExists);当key不存在时设定初始值
程序运行过程中,值有改变时用 redis.HashIncrementAsync( key, field, change);修改Redis中的值

现在的问题是,第一个进程在调用 HashIncrementAsync刷新的时候,第二个进程启动用HashSet把已经存在的key刷新成了defaultValue初始值。整个项目逻辑中对这个key的写操作就只有HashSet和HashIncrementAsync。

想问一下,在对已有key的情况下用 HashIncrementAsync的过程中,会不会存在HashSet中的When.NotExists参数无效而直接被设置了新值的情况

展开
收起
过88客 2019-06-14 11:37:53 1848 分享 版权
0 条回答
写回答
取消 提交回答

数据库领域前沿技术分享与交流

收录在圈子:
+ 订阅
让用户数据永远在线,让数据无缝的自由流动
还有其他疑问?
咨询AI助理