我正在使用laravel中的缓存驱动程序在redis中缓存一些eloquent / api调用结果。
每20个键,我得到+/- 4000行结果。这是一个相当大的json字符串。现在我把它直接扔到缓存驱动程序,这可能不是最好的方法。它仍然比每次进行api调用更快。但是从缓存加载它仍然需要5-6秒。查看网络选项卡,结果大约为12 mb。
在我的本地机器上,这很好用。在我的heroku环境中,redis最大限度地减少了内存使用量。
所以问题是,用缓存驱动程序将它存储在redis中的好方法是什么?
答案 0 :(得分:1)
由于数据非常大,您应该使用压缩库,例如zlib
,在保存到Redis之前压缩数据。这将减少Redis中存储的数据的大小。当您从Redis写入/读取时,它还可以减少网络延迟。