我有一些像这样编写的代码:
foreach ($models as $model) {
Redis::hset('model_App\ServiceModel', $model[$primaryKey], json_encode($model->toArray()));
}
模型按照foreach(alpha,green,zed)之前的名称字段按字母顺序排序
数据一旦添加到redis,看起来像这样:
row | key | value
1 490 {"service_id":490, "name":"zed"}
2 489 {"service_id":489, "name":"alpha"}
3 491 {"service_id":491, "name": "green"}
有谁知道为什么我的订单被忽略/覆盖?我错过了redis的工作方式吗?是' row'就像在MySQL数据库中自动递增id一样,如果是这样的话 - 它是如何得到的那样#zed'之前' alpha'?
这是我第一次认真地'使用它,我很欣赏我能得到的所有建议。
答案 0 :(得分:1)
的Redis'哈希是无序的 - 这是预期的行为。如果需要排序,请查看使用排序集,https://stats.stackexchange.com/questions/141806/glm-model-selection-using-aicc-with-tweedie-distribution命令,或(最好)对客户端中的数据进行排序。