레디스는 기본적으로 TTL 이 만료된 데이터를 아래 두가지 방법으로 삭제한다
레디스의 이러한 캐시만료 정책에도 불구하고 만료된 키가 메모리에 누적되어 메모리가 고갈될 수 있다. 이런 상황에서 레디스는 eviction 정책에 따라서 메모리를 확보한다.
아래 정책들을 사용할 수 있다.
noeviction: 메모리가 고갈된 경우 새로운 쓰기 작업을 하려고 할 때 에러를 반환한다.
allkeys-lru: 가장 최근에 사용되지 않은 키를 삭제한다.
allkeys-random: 키 공간에서 임의의 키를 삭제한다.
allkeys-lfu: 사용빈도가 적은 키를 삭제한다.
volatile-lru: 만료기간이 설정된 키 중에서 가장 최근에 사용되지 않은 키를 삭제한다.
volatile-random: 만료기간이 설정된 키 중에서 임의의 키를 삭제한다.
volatile-lfu: 만료기간이 설정된 키 중에서 사용빈도가 적은 키를 삭제한다.
volatile-ttl: 만료기간이 설정된 키 중에서 ttl 이 가장 짧은것을 삭제한다.