redis에서 사용하는 메모리가 설정된 최대 메모리를 초과하면 redis의 주요 제거 메커니즘이 실행됩니다. redis 3.0에는 6가지 제거 전략이 있습니다.
noeviction: 삭제 전략이 없습니다. 최대 메모리 제한에 도달했을 때 더 많은 메모리를 사용해야 하는 경우 오류 메시지가 직접 반환됩니다. (redis 기본 제거 전략)
allkeys-lru: 모든 키 중에서 가장 최근에 사용된(LRU) 키를 우선적으로 삭제합니다. (추천 학습: Redis 동영상 튜토리얼)
allkeys-random: 모든 키 중 일부 키를 무작위로 삭제합니다.
휘발성-lru: 시간 제한(만료)이 설정된 키 중에서 가장 최근에 사용된(LRU) 키를 우선적으로 삭제합니다.
휘발성-random: 시간 초과(만료)가 설정된 키 중 일부 키를 무작위로 삭제합니다.
휘발성-ttl: 시간 제한(만료)이 설정된 키 중에서 남은 시간(TTL)이 짧은 키를 우선적으로 삭제합니다.
시나리오:
데이터베이스에는 1천만 개의 데이터가 있지만 Redis에는 50만 개의 데이터만 핫 데이터인지 확인하는 방법은 무엇입니까?
해결 방법:
Redis가 차지하는 메모리를 제한합니다. Redis는 자체 데이터 제거 전략에 따라 메모리에 핫 데이터를 남겨 둡니다. 그래서 50W 데이터가 차지하는 대략적인 메모리를 계산한 다음 Redis 메모리 제한을 설정하고 제거 전략을 휘발성-lru 또는 allkeys-lru로 설정합니다.
Redis가 차지하는 최대 메모리 설정:
redis 구성 파일을 열고, maxmemory 매개변수를 설정합니다. maxmemory는 바이트 바이트 유형입니다.
# In short... if you have slaves attached it is suggested that you set a lower # limit for maxmemory so that there is some free RAM on the system for slave # output buffers (but this is not needed if the policy is 'noeviction'). # # maxmemory <bytes> maxmemory 268435456
만료 정책 설정:
maxmemory-policy volatile-lru
더 많은 Redis 관련 기술 문서를 보려면, Redis 입문 튜토리얼 칼럼에서 배워보세요!
위 내용은 Redis의 모든 핫 데이터를 확인하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!