gpt4 book ai didi

php - 缓存和竞争条件

转载 作者:可可西里 更新时间:2023-10-31 23:42:36 24 4
gpt4 key购买 nike

我正在使用 memcache(不是 memcached),我可能同时有 10000 个请求命中缓存。这可能会导致竞争条件,所以我使用了这段代码 http://terrychay.com/article/keeping-memcache-consistent.shtml获得锁而不是设置 key 。

现在从日志记录中我看到,当一个请求 A 正在等待缓存时,另一个请求 B 可能会完成获取数据并放入缓存,因此请求 A 没有必要等待和覆盖数据。

所以我认为一个解决方案是:当请求等待锁定时,它将检查数据是否在关键位置。如果它在那里而不是从键返回数据而不是更新它。其他人能想到什么建议吗?在等待锁定时检查 key 是否会炸毁内存缓存服务器?

最佳答案

我认为不值得对锁获取代码进行太多修改。获得锁后,您可以简单地执行 get,如果数据存在,清除锁并简单地返回数据而不访问数据库。

这样做还可以减少整体等待时间。

关于php - 缓存和竞争条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11744087/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com