[REDIS] SQLite는의 레디 스 포팅
REDISSQLite는의 레디 스 포팅
나는 8-10 열을 저장하는 데 사용하는 응용 프로그램에 대한 SQLite는을 사용했다. 나는 그 속성의 수의 조합에 따라 데이터를 검색하는 데 사용됩니다. 지금은 레디 스에 포트합니다. 나는 그것을 위해 테스트 응용 프로그램을 구축했다 그래서.
그러나 나는 이러한 속성 중 하나를 기반으로 데이터를 검색 할 수있을 것이라고 방식으로 내 레디 스 시스템을 설계하는 방법을 생각 할 수없는입니다. 당신의 어떤 어떤 조언 / 경험을 가지고?
해결법
-
==============================
1.나는 최선의 충고는 레디 스에 RDBMS에서 무언가를 이식 할 때 관계형 모델에 집착하지 않도록하는 것입니다 생각합니다. 그리고 모델을 넘어, 중요한 차이는 데이터 액세스 경로뿐만 아니라 데이터 구조에 집중하는 것입니다.
나는 최선의 충고는 레디 스에 RDBMS에서 무언가를 이식 할 때 관계형 모델에 집착하지 않도록하는 것입니다 생각합니다. 그리고 모델을 넘어, 중요한 차이는 데이터 액세스 경로뿐만 아니라 데이터 구조에 집중하는 것입니다.
레디 스는 (오히려 명령 라 memcached를) 쿼리 언어를 포함하지 않기 때문에 임의의 질의에 회신 할 수 없습니다. 데이터의 액세스 경로 데이터 구조의 일부가 아닌 경우, 데이터를 효율적으로 검색 할 수있다.
그것은 임의의 쿼리를 지원에 관해서 레디 스 최고의 NoSQL에 저장되지 않습니다. 예를 들어, 당신은 더 나은 MongoDB를 같은 의해 제공 될 것이다.
당신이 정말로 레디 스에 물건을 구현하려는 경우 지금, 당신은 엔진을 태그와 유사한 전략을 사용을 시도 할 수 있습니다. 귀하의 기록은 해시 객체에 저장할 수 있습니다. 당신이 지원을 필요로하는 임의의 쿼리의 각 컬럼의 경우, 당신은 세트를 사용하여 역 인덱스를 구축 할 수 있습니다.
예를 들어 :
# Set up the records: one hash object per record hmset user:1 name Bilbo type Hobbit job None hmset user:2 name Frodo type Hobbit job None hmset user:3 name Gandalf type Maiar job Wizard hmset user:4 name Aragorn type Human job King hmset user:5 name Boromir type Human job Warrior # Set up the indexes: one set per value per field sadd name:Bilbo 1 sadd name:Frodo 2 sadd name:Gandalf 3 sadd name:Aragorn 4 sadd name:Boromir 5 sadd type:Hobbit 1 2 sadd type:Maiar 3 sadd type:Human 4 5 sadd job:None 1 2 sadd job:Wizard 3 sadd job:King 4 sadd job:Warrior 5 # Perform a query: we want the humans who happen to be a king # We just have to calculate the intersection of the corresponding sets sinterstore tmp type:Human job:King sort tmp by nosort get user:*->name get user:*->job get user:*->type 1) "Aragorn" 2) "King" 3) "Human"
노동 조합, 교차로, 차이를 결합하여 더 복잡한 쿼리를 구현할 수있다. 비 이산 값 또는 범위 기반 쿼리, 순서 집합 (ZSET)를 사용할 수있다 (통상 세트와 결합 될 수있다).
이 방법은 매우 빠르게 값을 판별 충분하면 보통이다. 하지만 당신이 RDBMS의 유연성이없는 유의하시기 바랍니다 (더 정규 표현식은, 아니 접두사 검색 범위 쿼리, 처리하는 고통없는 등 ...)
from https://stackoverflow.com/questions/10794142/porting-from-sqlite-to-redis by cc-by-sa and MIT license
'REDIS' 카테고리의 다른 글
[REDIS] 레디 스 투명 거대한 페이지 해제하는 경우 (0) | 2020.01.07 |
---|---|
[REDIS] 레디 스은 / 접두사와 레디 스에서 모든 키 및 값을 가져옵니다 (0) | 2020.01.07 |
[REDIS] 어떻게 루프 내부 비동기 기능 완료 후 함수를 호출하는 방법? (0) | 2020.01.07 |
[REDIS] 레디 스 : IS ZADD 더 나은 O (logN)이 삽입 된 요소는 시작 또는 끝 부분에있을 때보다? (0) | 2020.01.07 |
[REDIS] 레디 스 GET SQL SELECT 대 (0) | 2020.01.07 |