2016-11-16 1 views
3

나는 몇 가지 코드는 다음과 같이 썼다 :Redis가 순서가 잘못 삽입되었거나 이상하게 정렬 되었습니까?

모델은 이전의 foreach (알파가, 녹색, 데이빗)

데이터는 한 번 레디 스에 추가로 이름 필드 알파벳 순으로 정렬

foreach ($models as $model) { 
    Redis::hset('model_App\ServiceModel', $model[$primaryKey], json_encode($model->toArray())); 
} 

, 무언가를 찾습니다 like :

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가 작동하는 방법에 대해 뭔가 빠졌는가? '행'은 MySQL 데이터베이스의 자동 증가 ID와 같으며, 그렇다면 '알파'앞에 'zed'가되는 방식은 무엇입니까?

내가 '심각하게'사용하고있는 것은 이번이 처음이며, 내가 얻을 수있는 모든 조언에 감사드립니다.

답변

1

Redis '해시는 순서가 지정되어 있지 않습니다 - 예상되는 동작입니다. 정렬이 필요한 경우 정렬 된 집합, SORT 명령을 사용하거나 클라이언트에서 데이터를 정렬하는 것이 좋습니다.

+0

감사합니다. – SoWizardly

관련 문제