【发布时间】:2017-09-26 17:34:09
【问题描述】:
亲爱的,我遇到了一个问题,即多个 redis 客户端正在访问存储在 redis-server 中的公共结构。
要求如下:-
- 如果一个特定的redis-client正在访问存储在redis-server中的结构(应对结构进行读写操作),其他redis-client应该不能访问并等待被释放。
- 每次其他 redis 客户端访问该结构时,它们都应该访问更新后的结构。
如何在 C 代码中放置锁定机制来满足此要求。 提前致谢。
【问题讨论】:
-
Redis 事务(MULTI/EXEC)还不够吗?
-
@Not_a_Golfer - 我对 Redis 的了解有限。我存储在哈希中的结构。以下序列是否适用于 C:- MULTI -> HGET -> 对结构的某些操作,例如更新结构中的某些字段 -> HSET -> EXEC
-
您无法使用事务观察值。如果这是您需要的,也许 Lua 脚本会更好。它以原子方式运行,直到完成。