2010-08-10 3 views
4

그래서 저는 파이썬 앱에서 redis로 작업하고 있습니다. 핵심 관리에 대한 조언? 나는 한 곳에서 모든 redis 호출을 시도하고 유지하지만 어디에서나 하드 코드 키로 무언가 보이게됩니다. 팁?Redis 키 관리

답변

1

글쎄, 키 이름은 응용 프로그램의 클래스 및 속성과 비교 될 수 있으므로 어느 정도의 '반복'이 발생합니다.

그러나 실제로 키를 작성하기 위해 많은 코드를 반복한다면 매퍼를 살펴볼 수 있습니다. 파이썬에는 Redisco이 있습니다.

좀 더 간단한 것이 필요하다면, 루비에는 Nest이 있습니다 (파이썬으로 이식하는 것은 간단합니다).

users = Nest.new("User") 

user = users[1] 
# => "User:1" 

user[:name] 
# => "User:1:name" 

redis.set(user[:name], "Foo") 

# or even: 
user[:name].set("Foo") 

user[:name].get 
# => "Foo" 
2

내가 키 생성, 같은 것을 처리하는 래퍼 클래스의 집합을 사용합니다 : 그것은 당신이 키에 대한 참조를 건조 할 수 있습니다

public User Get(string username) { 
    return redis.Get("user:"+username); 
} 

전 세계적으로 이러한 각 클래스의 인스턴스가 사용할 수 있으니 전화 만하면됩니다.

Server.Users.Get(username); 

물론 .NET에 있지만 그와 비슷한 것은 모든 언어에서 작동해야합니다. 일반적인 매핑 도구를 사용하는 것보다이 방법의 또 다른 장점은 연결 공유 및 인덱싱과 같은 것들을 넣을 수있는 좋은 장소를 제공한다는 것입니다.