laravel - 如何存储过滤后的数据?

标签 laravel caching redis

我正在构建一个纯粹处理数据存储的 API。

让我们想象一下在 Redis 中,我已经记住了键 foo:123 20 分钟,它包含一个 Eloquent Collection。因为我稍后会使用该集合,而不是返回原始 json。

例如,foo 集合可能看起来像

[  
   {  
      "name":"Doe",
      "first_name":"John",
      "age":42,
      "favorite_color":"red"
   },
   {  
      "name":"Example",
      "first_name":"Eric",
      "age":37,
      "favorite_color":"black"
   },
   ....
]

我将如何存储一个集合,它具有相同的结构条目具有黑色作为favorite_color ?我是否必须存储类似 foo:123:black 的内容?我是否存储完整的集合并手动过滤?还是在使用 Redis 时完全不同?

最佳答案

问:我如何存储一个新的集合,它具有相同的结构,但条目的 favorite_color 为黑色?

为什么不直接映射集合并将 favorite_color 更新为黑色? https://laravel.com/docs/5.4/collections#method-map .然后根据需要存储它,覆盖旧数据或创建新数据。

问:我是否必须存储类似 foo:123:black 的内容?

我不清楚你在这里要求什么。我不确定我们能否就您选择的存储方式或命名约定给您任何答案。

问:我是否存储完整的集合并手动过滤?

这是您需要根据您的应用要求来决定的事情。序列化一个集合并存储它应该是可能的,但如果您对一堆具有微小差异的不同集合执行此操作,则可能会浪费大量资源。

关于laravel - 如何存储过滤后的数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44004109/

相关文章:

php - 为什么 Laravel REST Controller $request->input 为 NULL?

java - WeakReference 是我需要的吗?

node.js - 用于 mongodb 查询的 redis 缓存层以提高性能

ruby-on-rails - Sidekiq + Redistogo(在 Heroku 上)- 达到 ERR 最大客户端数

java - 用Java实现一致性哈希算法

php - 拉维尔 : Saving a belongsToMany relationship

php - Eloquent 删除-SQLSTATE [22007] : Invalid datetime format: 1292 Truncated incorrect DOUBLE value:

拉拉维尔 5.4 : Password reset token not the same as email token

node.js - 在 EC2/Nodejs 后端 Redis/Varnish 中存储元数据和缓存 api 响应数据?

caching - 当我重复使用旧的缓存数据太多时间时,Spark Dataframe 突然变得非常慢