我正在创建一个POST API,在其中使用REDIS来实现幂等性。
我把一个idempotency-key
的标题,这是得到保存在Redis。
当同样的请求进来时,我返回缓存的消息。
在Redis中,我将其保存为idempotency-key: message-body with Http status
在负载测试期间,我发送了相同的请求,使用相同的幂等键30次。
正如预期的那样,有5/30次,相同的请求被存储在Redis中,因为新的请求在第一个完成之前就进来了。
在redis中,我如何避免它,而不使API变慢?
我在网上找不到太多的资料。
除了redis,我只有dynamo作为一个集中的数据库。
1条答案
按热度按时间xdnvmnnf1#
在redis中,我如何避免它,而不使API变慢?
通过在开始处理请求时锁定幂等键。
幂等性的目标不仅是总是返回相同的响应,而且还确保动作只执行一次而不是多次。