2013-10-31 1 views
0

지금 나는 많은 카테고리에 속한 약 1 억 개의 게시물을 열었습니다. 이제 redis를 사용하여 게시물의 조회수 및 다운로드 횟수를 저장하려고합니다. 내가보기 횟수 또는 다운로드 수redis를 사용하여 게시물보기 횟수 및 다운로드 횟수를 저장하는 방법

  • I에 의해 하나의 user`s 게시물 순서를 얻고 싶은

    1. :

      하지만 난 내 요구를 충족하기 위해 사용해야하는 데이터 구조에 대해 아무 생각이 없다 한 카테고리의 소식을 조회수 또는 다운로드 수로 가져오고 싶습니다.

    내 데이터 구조가 내 요청을 만족시킬 수 없다고 생각합니다. 무엇이 가장 좋지 않습니까?

    감사합니다 :)

  • 답변

    2

    내가보기 횟수 또는 다운로드 수

    당신은 사용자 당 두 개의 정렬 된 세트를해야 하나 user`s 게시물 순서를 싶어. 하나는보기별로 게시물 용이고 하나는 다운로드 별 게시물 용입니다.

    나는

    같은 일을 계산보기 횟수 또는 다운로드 하나 category`s 게시물 순서를 싶어. 카테고리별로 두 개의 정렬 된 세트를 유지하십시오. 하나는보기 용이고 다른 하나는 다운로드 용입니다.

    그런데 왜 Redis를 사용해야합니까? Redis에서이 모든 정보를 메모리에 저장하는 것이 절대적으로 필요합니까 (읽기 : 이렇게 빠른 속도/처리량이 필요합니까)? 이것을 Mongo와 같은 메모리 + 디스크 데이터 저장소에 저장하고 최상위 결과를 캐시하기 위해 Redis를 사용하는 것을 고려하십시오. 다시 말하지만, 이것은 전적으로 귀하의 요구에 달려 있지만 제 생각에는 Redis에서 거의 액세스하지 않는 사용자 또는 카테고리의 하단을 유지할 필요가 없다는 것입니다. 메모리가 비쌉니다.

    +0

    하지만 많은 범주가 있고 한 범주의 게시물이 여러 범주에 속할 수도 있습니다. 게시물을 볼 때 데이터를 업데이트하는 방법을 모르겠다. 모든 범주에 두 개의 정렬 된 집합이 있으면 데이터가 훨씬 커집니다. – Felix

    +0

    @Felix 업데이트해야 할 각각의 작업에 대해 ZADD 명령의 파이프 라인을 사용하여 업데이트합니다. 나는 데이터가 클 것이라는 것에 동의한다. 그렇기 때문에 정말로 필요한 경우가 아니라면 Redis를 사용해야한다고 생각하지 않습니다. – Eli

    관련 문제