>  기사  >  데이터 베이스  >  Redis 란 무엇입니까? 적용 시나리오는 무엇입니까?

Redis 란 무엇입니까? 적용 시나리오는 무엇입니까?

不言
不言원래의
2018-09-27 14:22:432572검색

이 기사에서는 Redis가 무엇인지 설명합니다. 적용 시나리오는 무엇입니까? 도움이 필요한 친구들이 참고할 수 있기를 바랍니다.

1: Redis 소개

Redis는 문자열, 목록, 집합, zset 및 해시 유형 데이터를 지원하는 오픈 소스 키-값 유형 단일 스레드 데이터베이스입니다.

기본 포트: 6379

기본 데이터베이스 수: 16

2. 장점:

1.nosql 데이터베이스에는 상관 관계가 없고, 데이터 구조가 간단하며, 테이블 확장이 더 쉽습니다

2.nosql에는 읽기 속도가 빠르고 대규모 데이터 처리에 적합합니다.

3. 적용 가능한 시나리오:

1. 데이터 동시 읽기 및 쓰기

2. 대용량 데이터 읽기 및 쓰기

Data with 높은 확장성 요구 사항

4. 불편한 시나리오:

1. 트랜잭션 지원 필요(비관계형 데이터베이스)

2. SQL 구조 쿼리 저장 기반, 복잡한 관계

5. 애플리케이션 시나리오

다음 작성자는 Redis입니다. Redis를 설명하는 작성자 @antirez 더 적합한 일부 애플리케이션 시나리오를 NoSQLFan은 모든 사람이 개요를 볼 수 있도록 여기에 나열합니다.

1 최신 N 데이터를 가져오는 작업

예를 들어, 다음 방법을 통해 웹사이트의 최신 기사를 얻을 수 있습니다. 5000개의 댓글 ID는 Redis의 목록 컬렉션에 저장되고, 초과 부분은 데이터베이스에서 LPUSH 최신.commentslist 컬렉션에 데이터를 삽입하는 명령입니다. 그런 다음 LTRIM 최신.comments 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개 항목과 같은 다양한 필터링 차원이 있는 경우 ID만 저장하는 경우 이 카테고리를 기반으로 다른 목록을 작성할 수 있습니다. Redis는 매우 효율적입니다.

    2.
  • 랭킹 적용, TOP N 연산을 수행합니다
  • 이 요구 사항과 위 요구 사항의 차이점은 이전 작업에서는 시간을 가중치로 사용하는 반면, 이번 작업에서는 특정 조건을 가중치로 사용한다는 점입니다. 좋아요 수, 이때
  • 정렬된 세트가 필요합니다. 정렬하려는 값을 정렬된
  • 세트의 점수로 설정하고, 특정 데이터를 해당 값으로 설정하면 됩니다. 각각 하나의 ZADD 명령만 실행하면 됩니다. 시간.

3. 만료 시간을 정확하게 설정해야 하는 애플리케이션

예를 들어 위에서 언급한 정렬된 세트의 점수 값을 만료 시간의 타임스탬프로 설정한 다음 간단히 만료 시간을 기준으로 정렬하고 만료된 항목을 정기적으로 삭제합니다. Redis에서 만료된 데이터를 삭제할 뿐만 아니라 Redis의 만료 시간을 데이터베이스의 데이터 인덱스로 완전히 간주하고 Redis를 사용하여 만료해야 할 데이터를 찾은 다음 정확하게 삭제할 수 있습니다. 데이터베이스 기록의 해당 데이터.

4.카운터 애플리케이션

Redis 명령은 모두 원자성입니다. INCR 및 DECR 명령을 사용하여 쉽게 카운터 시스템을 구축할 수 있습니다. 5. 특정 기간 동안 모든 데이터의 중복 제거 값을 얻는 Uniq 작업

이것은 Redis의 집합 데이터 구조를 사용하는 데 가장 적합합니다. 집합은 집합을 의미합니다. , 그러면 자동으로 무게가 변위됩니다.

6. 실시간 시스템,

스팸 방지 시스템

위에서 언급한 설정 기능을 통해 최종 사용자가 특정 작업을 수행했는지 여부를 알 수 있으며 해당 작업의 집합을 찾아 분석 및 통계를 수행할 수 있습니다. 비교. 불가능한 것은 없고 상상할 수 없을 뿐입니다.

7.Pub/Sub는 실시간 메시징 시스템을 구축합니다

Redis의 Pub/Sub 시스템은 Pub/Sub로 구축된 실시간 채팅 시스템의 많은 예와 같은 실시간 메시징 시스템을 구축할 수 있습니다.

8.

대기열 시스템 구축

목록을 사용하여 대기열 시스템을 구축하고, 정렬된 집합을 사용하여 우선 순위가 있는 대기열 시스템

을 구축하세요.

위 내용은 Redis 란 무엇입니까? 적용 시나리오는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.