我正在构建一个纯粹处理数据存储的API。
让我们想象一下Redis里面我记得20分钟的密钥foo:123
,其中包含Eloquent Collection,因为我以后使用该集合而不是返回 raw 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时,这完全不同吗?
答案 0 :(得分:1)
问:我如何存储一个新的集合,它具有相同的结构,但条目的黑色为favorite_color?
为什么不直接映射集合并将favorite_color更新为黑色? https://laravel.com/docs/5.4/collections#method-map。然后根据需要存储它,覆盖旧数据或创建新数据。
问:我是否需要存储类似foo:123:black的内容?
我不清楚你在这里要求的是什么。我不确定我们能否就您选择存储它或命名惯例给出任何答案。
问:我是否存储完整的收藏并手动过滤?
根据您的应用要求,您需要做出决定。应该可以序列化一个集合并将其存储起来,但是如果你用一堆不同的集合来做这个,那么它可能会浪费很多资源。