Redis은 내가 사용하는 기존의 SQL 데이터베이스와 개념적으로 다르고 내 프로젝트에 맞는지 알아 내려고 노력하고 있습니다 ... 주위를 둘러 보았지만 찾을 수없는 것 같습니다. 내 질문에 대한 대답.Redis 및 값 쿼리
고유 ID 및 각 값과 연관된 여러 값 (예 : 이름)을 저장해야하는 사용자 집합이 있습니다.
message:1a7bcba4849b4c281bfef98a952dcfeb
"sender" "fef982dcfe1a7bcba4849b4c281bba95" "recipient" "82dcfe1a7bcba4849b4c281bba95fef9" "message" "Hi!"
: 나는 또한 내가, 각각은 발신자와 수신자 등의 몇 가지 특성을 갖는 저장하려는 메시지의 무리가
user:fef982dcfe1a7bcba4849b4c281bba95
"username" "andrewm" "name" "Andrew"
: 나는 단순히 해시로 사람들을 저장할 수있는 것 같다 내 질문은 특정 사용자가 보낸 모든 메시지를 검색하는 방법 (해시 지정)입니다. 대신에 기존의 관계형 데이터베이스 또는 MongoDB와 같은 NoSQL 데이터베이스 (이전에 사용했던 데이터베이스)를 사용해야합니까? 그렇다면 누구나 고성능 매장에 대한 제안 사항이 있습니까? 나는 진실한 검색 (즉, MySQL LIKE
쿼리)을 수행하지 않을 것입니다. 단지 핵심 가치 조회입니다.
설명에 감사드립니다. 매우 도움이되었습니다. 더 자세히 살펴 보겠습니다 :) –
안녕, 고마워, 매우 도움이. "메시지 추가/삭제가 * : sent 및 * : received set 유지"를 의미하는 경우 데이터를 저장하기 위해 더 많은 공간이 필요하며 메모리에서 더 많은 공간을 차지합니까? 이런 종류의 "멀티 스토어"가 자주 수행된다면 성능에 문제가 될 수 있습니까? 도움 주셔서 감사합니다 – Loic
예, 저장할 더 많은 데이터를 나타냅니다. 성능과 관련하여 파이프 라이닝을 사용하여 주어진 작업에 대해 여러 명령을 수행 할 때의 영향을 상쇄해야합니다. http://redis.io/topics/pipelining을 참조하십시오. –