2017-01-22 3 views
0

django-redis를 사용하여 나머지 이름 공간의 나머지 부분에 액세스하려면 어떻게해야합니까?django-redis를 사용하여 나머지 이름 공간의 나머지 부분에 액세스하려면 어떻게해야합니까?

cache.keys("*") 

나는 오직 django-redis를 통해 입력 한 키인 이름 공간 1 : 1 : TEST만을 제공합니다. 아래 이미지를 보면 내가 액세스 할 수있는 유일한 네임 스페이스입니다. 나머지 자산에 어떻게 액세스합니까?

enter image description here

감사합니다!

케이시

답변

1

당신이 할 수있는 해당 값에 액세스하는 데 직접 레디 스 클라이언트에 액세스하려면 다음

from django.core.cache import caches 

default_cache = caches['default'] 
redis = default_cache.get_master_client() 
# now you can use any of the redis client operations on redis 
redis.hgetall('BATCH-RP-FAIL') 
# or redis.smembers, etc. 

주의를의 레디 스 클라이언트는 훨씬 더 까다로운 특정 키가 입력 한 내용에 대한 것입니다 . 그러므로 당신은 당신이 redis sets에 대해 s 연산을 사용하고, redis hash에 대해 h 연산을 사용하고 있는지 확인해야합니다. 즉, redis 클라이언트로 액세스하는 객체의 유형을 알아야합니다. 반면 django 캐시 클라이언트는 setget을 사용해야하며 직렬화를 사용하여 유형을 변환합니다.