복붙노트

[REDIS] 레디 스 키 내에서 콜론의 목적은 무엇인가

REDIS

레디 스 키 내에서 콜론의 목적은 무엇인가

나는 내 프로젝트에 대한 레디 스를 사용하는 방법을 배우는 중이에요. 한 가지 내가 주위에 내 머리를 없어 정확히 콜론은 키의 이름에 사용되는 것입니다.

나는 이와 같은 키의 이름을 보았다 :

users:bob
color:blue
item:bag

범주로 결장 별도의 키를 수행하고 빠르게 키를 찾을 수 있도록? 하위 범주로 그들을 무너 뜨리는 키의 이름을 지정할 때이 경우 여러 콜론을 사용할 수 있습니까? 마지막으로 그들은 레디 스 서버 내에서 다른 데이터베이스를 정의와 아무 상관이 있습니까?

나는 문서를 읽고 문제에 많은 Google 검색을 수행하지만 이상하게도 난 아무것도이 논의를 찾을 수있다.

해결법

  1. ==============================

    1.콜론은 네임 스페이스 데이터를 저장하기위한 개념으로 이전 레디 스 버전에서왔다. 당신은 이메일과 콜론이 사용되었다, 그래서 문자열로 모든 것을 저장했다 '밥'의 나이를 저장하기를 원한다면 초기 버전에서는 문자열 만 지원 레디 스 :

    콜론은 네임 스페이스 데이터를 저장하기위한 개념으로 이전 레디 스 버전에서왔다. 당신은 이메일과 콜론이 사용되었다, 그래서 문자열로 모든 것을 저장했다 '밥'의 나이를 저장하기를 원한다면 초기 버전에서는 문자열 만 지원 레디 스 :

    SET user:bob:email bob@example.com
    SET user:bob:age 31
    

    그들은 레디 스에서 특별한 취급이나 성능 특성, 유일한 목적은 다시 찾을 수있는 데이터의 네임되지 않았다 있었다. 요즘 당신은 coloned 키의 대부분을 저장하는 해시를 사용할 수 있습니다 :

     HSET user:bob email bob@example.com
     HSET user:bob age 31
    

    우리는 "밥"이라는 이름을 수 있지만, 사용자 접두사를의 네임 것은 우리는 즉시이 해시 / 가질 수해야하는 정보를 알고 : "밥이 사용자"당신은 해시 이름을 지정할 필요는 없습니다.

  2. ==============================

    2.콜론은 키를 구성하는 방법입니다. 그들은 어떤 식 으로든 레디 스에 의해 해석되지 않습니다. 또한 전혀 다른 당신이 좋아하는 구분 기호 또는 없음을 사용할 수 있습니다. 나는 개인적으로 내 키는 파일 시스템 경로처럼 보이게하는 / 좋아한다. 그들은 성능에 아무런 영향이 없다하지만 당신은 과도하게 긴 레디 스 메모리에 모든 키를 유지해야하기 때문에 그들을해서는 안됩니다.

    콜론은 키를 구성하는 방법입니다. 그들은 어떤 식 으로든 레디 스에 의해 해석되지 않습니다. 또한 전혀 다른 당신이 좋아하는 구분 기호 또는 없음을 사용할 수 있습니다. 나는 개인적으로 내 키는 파일 시스템 경로처럼 보이게하는 / 좋아한다. 그들은 성능에 아무런 영향이 없다하지만 당신은 과도하게 긴 레디 스 메모리에 모든 키를 유지해야하기 때문에 그들을해서는 안됩니다.

    좋은 키 구조는 SQL의에 레디 스 '답변 조인 정렬 명령의 힘을 활용하는 것이 중요하다.

    GET user:bob:color   -> 'blue'
    GET user:alice:color -> 'red'
    
    SMEMBERS user:peter:friends -> alice, bob
    
    SORT user:peter:friends BY NOSORT GET user:*:color   -> 'blue', 'red'
    

    당신은 키 구조가 구성 키를 참조하여 사용자의 색상을 조회 할 SORT 수 있습니다 것을 볼 수 있습니다.

  3. from https://stackoverflow.com/questions/3554888/what-is-the-purpose-of-colons-within-redis-keys by cc-by-sa and MIT license