Redis插入乱序或奇怪排序?

时间:2016-11-16 22:25:36

标签: redis

我有一些像这样编写的代码:

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'?

这是我第一次认真地'使用它,我很欣赏我能得到的所有建议。

1 个答案:

答案 0 :(得分:1)

的Redis'哈希是无序的 - 这是预期的行为。如果需要排序,请查看使用排序集,https://stats.stackexchange.com/questions/141806/glm-model-selection-using-aicc-with-tweedie-distribution命令,或(最好)对客户端中的数据进行排序。