gpt4 book ai didi

laravel - 如何在 laravel 中使用带有哈希存储的 redis?

转载 作者:IT王子 更新时间:2023-10-29 06:11:21 26 4
gpt4 key购买 nike

我使用了 laravel 默认的 Redis::set() 函数来存储项目,但我有 13k 条记录,内存使用量约为 400mb。现在我正在寻找减少它的方法。我注意到 laravel 将数据存储为字符串而不是浪费资源的散列。如何通过 laravel 将 Redis 与散列一起使用?

最佳答案

在官方Laravel Redis Facade ,据说

The Redis facade supports dynamic methods, meaning you may call any Redis command on the facade and the command will be passed directly to Redis

所以我猜你可以使用

Redis::hSet('h', 'key1', 'hello');
$value = Redis::hGet('h', 'key1');

但我真的怀疑你是否会大幅减少内存使用量,除非你有很长的键名。相反,您可以:

  • 如果可能考虑执行 EXPIRE在你的 key 上
  • 您还可以压缩键值:例如,如果它是用 json 编码的,您可以使用 msgpack它声称体积小 1/3,编码/解码速度更快,否则您可以像本 post 中解释的那样 gz 压缩您的内容
  • 您可以使用 Redis 内存分析器,例如 this one寻找潜在的问题

如果您进行测试,请告诉我们您的结果,这会很有趣。

关于laravel - 如何在 laravel 中使用带有哈希存储的 redis?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35761913/

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