그래서 저는 파이썬 앱에서 redis로 작업하고 있습니다. 핵심 관리에 대한 조언? 나는 한 곳에서 모든 redis 호출을 시도하고 유지하지만 어디에서나 하드 코드 키로 무언가 보이게됩니다. 팁?Redis 키 관리
4
A
답변
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에 있지만 그와 비슷한 것은 모든 언어에서 작동해야합니다. 일반적인 매핑 도구를 사용하는 것보다이 방법의 또 다른 장점은 연결 공유 및 인덱싱과 같은 것들을 넣을 수있는 좋은 장소를 제공한다는 것입니다.