우리는 Elasticache (Redis)를 사용하여 클라우드 플랫폼 용 캐싱 레이어를 구현합니다. 그것은 mongodb 백엔드를 가지고있다. Node.js와 Java를 사용하여 서로 다른 플랫폼 구성 요소에서 이러한 데이터에 액세스합니다.Elasticache (Redis)에서 데이터를 파티셔닝하는 올바른 방법
Node.js를 예 코드는 우리가 다른 종류의 데이터를 캐시 레디 스 캐시
var redisClient = require('redis').createClient(config.aws.redis.port, config.aws.redis.endpoint, {no_ready_check: true});
var redisKey="urls_"+url;
redisClient.get(redisKey, function (redisErr, reply) {});
아래 설명한다. X, Y, Z라고 말하십시오. 현재 우리는 그들을 단일 redis 노드에 저장합니다. 그리고 우리는 네임 스페이스 접두사를 사용하여 데이터를 분할합니다.
예,
key ="X_"+url
key ="Y_"+money
key ="Z_"+length
는하지만이 문서를 통해 캠과 이름 공간을 피하기 위해 더 나은 말한다. http://www.mikeperham.com/2015/09/24/storing-data-with-redis/
그래서 우리의 유스 케이스에 가장 적합한 솔루션은 무엇입니까?
다른 데이터 파티션마다 다른 레디 스 노드를 갖는
형 데이터 Y 형 데이터 노드 Z 형 데이터 C의 레디 스 노드 에 캐시 될 B의 레디 스에 캐시 될 레디 스 노드에 캐쉬한다X
단일 redis 노드에서 여러 redis dbs를 사용 하시겠습니까?
X 타입의 데이터가 Y 형 데이터가 레디 스 노드 Z 형 데이터의 1 DB에 캐시됩니다 레디 스 노드의 0 번째 DB에 캐시됩니다를위한 레디 스 노드