Redis 작가 이야기 Redis 응용 장면

2741 단어
Redis 작가 이야기 Redis 응용 장면
다음으로 전송:
http://blog.nosqlfan.com/html/2235.html
의심 할 여지없이 Redis 는 새로운 데이터 저장 방향 을 열 었 다. Redis 를 사용 하면 우 리 는 기능 이 단조 로 운 데이터 베 이 스 를 직면 할 때 코끼리 를 냉장고 에 어떻게 넣 는 지 에 신경 을 쓰 지 않 고 Redis 의 유연 하고 변화 가 많은 데이터 구조 와 데이터 조작 을 이용 하여 서로 다른 코끼리 에 게 서로 다른 냉장 고 를 구축 할 수 있다.이 비 유 를 좋아 하 시 길 바 랍 니 다.
다음은 새로 나 온 글 입 니 다. 그 작 가 는 Redis 작가 @ antirez 입 니 다. 그 는 Redis 가 비교적 적합 한 응용 장면 을 묘 사 했 습 니 다. NoSQL Fan 은 여기 서 간단하게 열거 하여 여러분 께 보 여 드 리 겠 습 니 다.
1. 최신 N 개의 데 이 터 를 가 져 오 는 동작
예 를 들 어 전형 적 으로 당신 사이트 의 최신 글 을 추출 하고 다음 과 같은 방식 으로 우 리 는 최신 5000 개의 댓 글 의 ID 를 Redis 의 List 집합 에 두 고 집합 을 초과 한 부분 을 데이터 베이스 에서 얻 을 수 있 습 니 다.
  • LPUSH latest. comments < ID > 명령 을 사용 하여 list 집합 에 데 이 터 를 삽입 합 니 다
  • 삽입 완료 후 LTRIM latest. coments 0 5000 명령 으로 최근 5000 개 ID 만 영원히 저장
  • 그리고 클 라 이언 트 가 특정한 페이지 의 댓 글 을 받 을 때 아래 의 논리 (위조 코드)
  • 를 사용 할 수 있 습 니 다.
    FUNCTION get_latest_comments(start,num_items):
        id_list = redis.lrange("latest.comments",start,start+num_items-1)
        IF id_list.length < num_items
            id_list = SQL_DB("SELECT ... ORDER BY time LIMIT ...")
        END
        RETURN id_list
    END

    만약 에 다른 선별 차원, 예 를 들 어 특정한 분류의 최신 N 조 가 있다 면 이 분류 에 따 른 List 를 다시 만 들 수 있 고 ID 만 저장 하면 Redis 는 매우 효율 적 입 니 다.
    2. 랭 킹 응용, TOP N 조작
    이 수 요 는 상기 수요 와 다른 점 은 앞에서 조작 하 는 것 이 시간 을 가중치 로 하 는 것 이다. 이것 은 특정한 조건 을 가중치 로 하 는 것 이다. 예 를 들 어 꼭대기 의 횟수 에 따라 순 서 를 매 길 때 우리 의 sorted set 가 나 서 야 한다. 정렬 할 값 을 sorted 로 설정 해 야 한다. set 의 score 는 구체 적 인 데 이 터 를 해당 하 는 value 로 설정 하고 매번 ZADD 명령 만 실행 하면 됩 니 다.
    3. 기한 이 지난 시간 을 정확하게 설정 해 야 한다.
    예 를 들 어 위 에서 말 한 sorted set 의 score 값 을 기한 이 지난 시간 스탬프 로 설정 할 수 있 습 니 다. 그러면 기한 이 지난 시간 에 정렬 하고 기한 이 지난 데 이 터 를 정기 적 으로 지 울 수 있 습 니 다. Redis 의 기한 이 지난 데 이 터 를 지 울 뿐만 아니 라 Redis 의 기한 이 지난 시간 을 데이터베이스 에 있 는 데이터 에 대한 색인 으로 생각 하고 Redis 로 어떤 데 이 터 를 기한 이 지난 후에 삭제 해 야 하 는 지 찾 을 수 있 습 니 다.그리고 데이터베이스 에서 해당 하 는 기록 을 정확하게 삭제 합 니 다.
    4. 카운터 적용
    Redis 의 명령 은 모두 원자 적 이 므 로 INCR, DECR 명령 을 쉽게 이용 하여 카운터 시스템 을 구축 할 수 있 습 니 다.
    5. Uniq 작업, 일정 시간 동안 모든 데이터 배열 값 가 져 오기
    이것 은 Redis 를 사용 하 는 set 데이터 구조 가 가장 적합 합 니 다. 데 이 터 를 set 에 계속 던 지면 됩 니 다. set 는 집합 을 의미 하기 때문에 자동 으로 무 게 를 줄 입 니 다.
    6. 실시 간 시스템, 쓰레기 방지 시스템
    위 에서 말 한 set 기능 을 통 해 터미널 사용자 가 어떤 조작 을 했 는 지 알 수 있 고 그 조작의 집합 을 찾 아 통계 대 비 를 분석 할 수 있다.못 하 는 것 은 없고 생각 지도 못 한 것 만 있다.
    7. Pub/Sub 실시 간 메시지 시스템 구축
    Redis 의 Pub/Sub 시스템 은 실시 간 메시지 시스템 을 구축 할 수 있 습 니 다. 예 를 들 어 Pub/Sub 로 구 축 된 실시 간 채 팅 시스템 의 예 가 많 습 니 다.
    8. 대기 열 시스템 구축
    list 를 사용 하면 대기 열 시스템 을 구축 할 수 있 고 sorted set 를 사용 하면 우선 순위 가 있 는 대기 열 시스템 을 구축 할 수 있 습 니 다.
    9. 캐 시
    이것 은 말 할 필요 도 없 이 성능 이 Memcached 보다 좋 고 데이터 구조 가 더욱 다양 하 다.
    출처: antirez. com

    좋은 웹페이지 즐겨찾기