亲爱的,我有一个问题,即多个redis-clients正在访问存储在redis-server中的公共结构。
要求如下: -
如何在C代码中使用锁定机制来满足此要求。 在此先感谢。
答案 0 :(得分:1)
答案 1 :(得分:0)
使用watch命令https://redis.io/commands/watch检测其他客户端的修改。此命令仅指定给redis事务中的指定键
答案 2 :(得分:0)
亲爱的,谢谢大家的回复。了解redis提供的各种功能和通用方法很有帮助。
然而,由于我的要求符合这一要求,我接近如下。
我使用secound时间戳(比方说t_sec)作为键和计数器作为哈希值。如果在该特定秒中,进一步的请求到来,则对应于t_sec密钥的计数器值以原子方式递增(HINCRBY命令)。其余参数本地存储在结构中。如果计数器达到特定的设置限制,则请求被删除。 如果这是下一秒,则使用新的t_sec密钥值,并且计数器从零开始递增。 与前一秒相对应的t_sec密钥被删除(HDEL命令)。