Redis를 캐시로 사용하는 경우에도 데이터를 데이터베이스에 저장해야 합니까? (추천 학습: Redis 동영상 튜토리얼)
내 대답은:
redis는 mysql과 같은 데이터베이스가 아닌 캐시일 뿐이므로 Redis의 데이터베이스는 mysql에 있어야 합니다.
사용자가 먼저 Redis를 요청하도록 요청합니다. 그렇지 않은 경우 데이터베이스로 이동하여 읽어보세요.
Redis는 요청량이 비교적 많은 일부 데이터를 캐시합니다(이 캐시된 데이터는 mysql에서도 사용할 수 있어야 함). Redis에서 모든 데이터를 캐시할 필요는 없습니다.
캐시에서 데이터를 얻는 것이 더 빠른 이유는 디스크에 저장되는 mysql 데이터와 달리 캐시된 데이터는 메모리에 존재하기 때문입니다. 즉, 로딩 과정을 거치지 않아도 되기 때문입니다. 디스크에서 메모리로(이 프로세스는 시간이 많이 걸리고 비효율적임) 메모리에서 직접 데이터를 가져옵니다.
redis 캐시가 충돌하면 엄청난 양의 요청이 데이터베이스에 액세스하지 않을까요? 데이터베이스가 살아남을 수 있습니까?
분석을 위해 수락하면 수천억 개의 요청이 동시에 액세스되는 경우 데이터베이스가 이를 처리할 수 없는 이유는 무엇입니까?
①데이터베이스는 엄청난 양의 동시성을 처리할 수 없습니다.
예를 들어 이해해 봅시다.
1억 plsql 클라이언트가 데이터베이스 쿼리, 쓰기 및 기타 작업을 위해 동시에 Oracle에 액세스하면 데이터베이스가 확실히 압도될 것입니다.
이러한 관점에서 redis는 별로 도움이 되지 않습니다.
②데이터베이스는 저속 디바이스에 존재하며, 데이터베이스에 접근할 때마다 디스크에서 메모리로 전송하는 과정인 io를 거쳐야 합니다. 이것이 Redis와 같은 캐싱 메커니즘을 사용하는 이유입니다.
더 많은 Redis 관련 기술 기사를 보려면 Redis 시작 튜토리얼 칼럼을 방문하여 알아보세요!
위 내용은 Redis에 배치해야 하는 데이터와 데이터베이스에 배치해야 하는 데이터는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!