我正在构建一个纯粹处理数据存储的 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/