Redis에서 네임 스페이스를 만들 수 있습니까?
내가 발견 한 것으로부터, 모든 전역 명령 (count, delete all)은 모든 객체에서 작동합니다. 이러한 명령이 상황에 따라 제한 될 수 있도록 하위 공간을 만드는 방법이 있습니까?
이 목적으로 다른 Redis 서버를 설치하고 싶지 않습니다.
나는 대답이 "아니오"라고 가정하고, 너무 많은 오버 헤드없이 유용한 기능인 것처럼 보이기 때문에 이것이 구현되지 않은 이유를 궁금해합니다.
Redis 서버는 번호가 매겨진 여러 데이터베이스를 처리 할 수 있습니다. 나는 그것이 기본적으로 32 개를 제공한다고 생각한다; 당신은 그들을 사용하여 액세스 할 수 있습니다-엔옵션을레디 스-CLI쉘 스크립트 명령 및 비슷한 옵션을 사용하여 연결 인수를 사용하거나"select()"
메서드를 호출합니다. (이 경우.select()
파이썬 Redis 모듈의 메소드 이름입니다 ... 나는 다른 라이브러리와 인터페이스에 대해서도 비슷하게 이름이 붙어 있다고 가정합니다.
Redis 서버 데몬의 구성 파일에서 원하는 데이터베이스의 수를 제어하는 옵션이 있습니다. 나는 상한이 무엇인지 알지 못하며 동적으로 그것을 변경하는 방법이없는 것 같습니다 (다시 말하면 DB를 추가하기 위해 서버를 종료하고 다시 시작해야하는 것처럼 보입니다). 또한이 DB 번호를 어떤 종류의 이름과도 연관 시키거나 별개의 ACLS 또는 심지어 다른 암호를 부과하지 않는 것처럼 보이지 않습니다. Redis는 물론 스키마가 없습니다.
Ruby를 사용한다면 다음과 같은 보석들을 볼 수 있습니다 :
https://github.com/resque/redis-namespace
https://github.com/jodosha/redis-store
redis-namespace
라이브러리는 가난한 사람의 네임 스페이스이므로 "ns : *"로 모든 항목의 접두사를 붙이면됩니다. - Mirek Rusin
$redis
변수를 생성하고 새로 전달Redis.new
인수 (물론 모든 레일 설정을 존중하지 않습니다) - Sachin