[REDIS] 최신 잡는 유지하는 방법
REDIS최신 잡는 유지하는 방법
memcached를하거나 레디 스 데이터 저장 캐싱을 위해 사용된다. 값이 변경 될 때 어떻게 캐시가 업데이트되고있다?
예를 들어. 내가 캐시에서 처음으로 키 1을 읽고 놓친 경우에, 나는 값 1을 당겨 캐시에 키 1 = 값 1을 넣어.
그 후 KEY1의 값은 값 2로 변경하는 경우. 어떻게 캐시 값이 업데이트되거나 무효화?
키 1의 값에 변화가있을 때마다 그 의미합니까. 어느 응용 프로그램이나 데이터베이스의 필요성이 키 1 캐시에 있는지 확인하고 업데이트?
해결법
-
==============================
1.당신은 캐시를 사용하고 있기 때문에, 당신은 어떤 시점에서 데이터 불일치 문제, 즉 용납 할 수 있고, 캐시의 데이터는 데이터베이스의 데이터 다르다.
당신은 캐시를 사용하고 있기 때문에, 당신은 어떤 시점에서 데이터 불일치 문제, 즉 용납 할 수 있고, 캐시의 데이터는 데이터베이스의 데이터 다르다.
당신은 값이 변경 될 때마다 캐시에 값을 업데이트 할 필요가 없습니다. 그렇지 않으면, 전체 캐시 시스템은 매우 복잡 할 것이다 (당신이 캐시 된 키의 목록을 유지해야한다 예를 들어), 그리고 또한 그렇게 할 필요 수 있습니다 (예 : 키 - 값은 한 번만 사용하지 않고, 필요 수 있습니다 ) 그것을 더 이상 업데이트합니다.
일반적으로 설정하거나 캐시에 키 - 값 쌍을 업데이트 외에, 우리는 또한 각 키에 대한 시간 제한을 설정합니다. 그 후, 클라이언트는 캐시에서 키 - 값 쌍을 얻을 수 있습니다. 키가 타임 아웃에 도달하는 경우에는, 캐시 시스템은 캐시에서 키 - 값 쌍을 제거한다. 이 호출되는 키가 만료되었습니다. 다음 번에, 캐시에서 해당 키를 얻기 위해 시도하는 클라이언트는 아무 것도 얻을 수 없습니다. 이것은 캐시 미스라고합니다. 이 경우, 클라이언트는 데이터베이스에서 키 - 값 쌍을 얻고, 새로운 타임 아웃으로 캐시로 업데이트 할 수 있습니다.
키가 캐시에 만료되지 않은 상태에서 데이터가 데이터베이스에 업데이트 된 경우, 클라이언트는 일치하지 않는 데이터를 얻을 것이다. 키가 만료 된 때, 그 값은 데이터베이스에서 검색 및 일부 클라이언트가 캐시에 삽입됩니다. 데이터가 다시 변경 될 때까지 그 후, 다른 클라이언트는 업데이트 된 데이터를 얻을 것이다.
일반적으로 만료 정책의 두 가지 종류가 있습니다 :
데이터가 오래된 수 있습니다 동안 오랜 시간 동안 큰 제한 시간은 크게 데이터베이스의 부하를 줄일 수 있습니다. 데이터베이스가 무거운 부하를해야합니다 동안 작은 시간 제한은 가능한 한 최대 최신 데이터를 유지할 수 있습니다. 당신은 시간 제한을 설계 할 때 트레이드 오프 균형을 가지고 그래서.
레디 스 키를 만료하는 방법에는 다음 두 가지가 있습니다 :
from https://stackoverflow.com/questions/45384889/how-to-keep-caching-up-to-date by cc-by-sa and MIT license
'REDIS' 카테고리의 다른 글
[REDIS] MongoDB를하고 레디 스처럼 푸른 지원 일을합니까? (0) | 2020.01.06 |
---|---|
[REDIS] Heroku가에 Redistogo 및 Sidekiq : 캔 연결하지 (0) | 2020.01.06 |
[REDIS] 구성 Jedis 시간 제한 (0) | 2020.01.06 |
[REDIS] ASP.NET 코어 컨트롤러에 StackExchange.Redis 사용 (0) | 2020.01.06 |
[REDIS] 레디 스 크로스 슬롯 오류 (0) | 2020.01.06 |