gpt4 book ai didi

database - laravel 5.6 中的 Redis 数据库缓存

转载 作者:可可西里 更新时间:2023-11-01 11:14:27 24 4
gpt4 key购买 nike

我想缓存我的查询结果,我在 laravel 中阅读了有关 Cache::remember 的内容,但它需要一个时间参数,我不想为我的 redis 缓存设置时间。

我需要一些东西来缓存我的查询,并且在查询更新后结果因更新而改变。

你有什么建议?

最佳答案

在 Redis 中存储 Eloquent 模型的完整集合可能比预期的要慢。

在我的例子中,我必须创建包含大量 where 的嵌套选择, count , join , group byorder by ……等

它每次请求都消耗了大量资源,所以我尝试缓存结果。这不是最好的解决方案,因为它比我想要的慢(4 倍)(200+ 毫秒响应)。

解决方案是SELECT id FROM ...来自 redis 中的“巨大”查询和存储 ID。在此之后,SQL 查询看起来像 SELECT * FROM <table> WHERE id IN (...);在每个请求中。 (必要时重新排序sql查询中的数据)

这样就可以快速的从redis和sql中查询到需要的数据。平均响应时间小于 50 毫秒。

希望对您有所帮助。

关于database - laravel 5.6 中的 Redis 数据库缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56609262/

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