>  기사  >  데이터 베이스  >  Redis 다중 레벨 캐시 소개

Redis 다중 레벨 캐시 소개

尚
앞으로
2020-05-02 09:07:543040검색

Redis 다중 레벨 캐시 소개

거친 것부터 미세한 것까지 세분화에 따라:

제품 세부 정보 페이지를 예로 들어보세요

1. 페이지 수준 캐시

(URL 수준 캐시라고도 함, 페이지를 수동으로 렌더링하여 Redis에 저장) (key=product id, val="제품 세부정보 페이지, 나중에 이 페이지를 다시 요청할 때 redis에서 가져와 text/html을 직접 프런트 엔드에 반환하고 브라우저에 페이지를 로컬로 캐시하도록 지시할 수 있습니다. 단점은 페이지 데이터가 제때 업데이트되지 않는다는 것입니다.

2. 개체 수준 캐시

(예: 제품 데이터, (key = 제품 ID, val = "데이터베이스에서 찾은 제품 데이터"))는 제품 정보를 저장합니다. 두 번째로 제품 데이터 변경을 요청하면 먼저 Redis로 전송됩니다. Query)

Redis에서 캐싱하는 방법은 다음과 같습니다.

1 먼저 Redis에 데이터가 있는지 확인합니다.

1.1.데이터가 있으면 반환

1.2. 없으면 데이터베이스를 쿼리하여 Redis에 저장한 후 반환

2.캐싱 수명주기에 주의하세요.

주기가 영구적이면 redis는 쉽게 무너지는데, 시간문제입니다

플래시 세일에서 redis 활용:

1. 먼저, 플래시 세일 제품 재고를 redis에 미리 저장합니다

2. 이 제품의 플래시 세일은 종료됩니다. (redis는 싱글스레드입니다.)

3. Redis에 대한 접근 부담을 줄이고 싶다면 사용자가 제출한 플래시 세일 요청을 넣어주시면 됩니다. mq에(예: RabbitMq)

예를 들어 총 10개의 제품이 있고 총 100,000명의 사용자가 관심을 갖고 있으며 거의 ​​동시에 플래시 세일 요청을 제출할 수 있습니다.

3.1.

3.2 소비자(큐의 "소비자")는 고정된 속도로 메시지 큐에서 데이터를 가져와 데이터베이스에 주문을 생성합니다. (즉, 10개의 주문이 데이터베이스에 영향을 주지 않고 순서대로 생성됩니다.)

3.3 대기열에 있을 수 있지만 어떤 이유로든 상위 10명의 사용자가 주문을 생성하지 못하는 경우 사용자의 플래시 판매 요청은 그러면 대기열에 있는 다른 사용자를 위한 주문이 생성됩니다

3.4. 성공적인 주문 생성 요청의 경우 요청이 mq에서 제거됨으로 이동되고 사용자에게 "축하합니다"라는 문자 메시지가 전송됩니다. , 플래시 세일이 성공했습니다!"

3.5. 10개의 주문이 성공적으로 생성된 후(즉, 플래시 세일 종료) 대기열에 있는 다른 사용자에게 "플래시 세일 실패"를 반환하도록 요청합니다.

더 많은 Redis 지식을 주목해 주세요.

redis 소개 튜토리얼 칼럼을 살펴보세요.

위 내용은 Redis 다중 레벨 캐시 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 csdn.net에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제
이전 기사:redis info 명령 소개다음 기사:redis info 명령 소개