Language/C#

Cache 파일 캐시 시스템

비비이잉 2022. 10. 31. 17:26
반응형

Cache ? 

- 데이터를 저장하고 꺼내쓰기 위해서 사용하는데, 데이터를 읽기 위해서 매번 저장소에서 꺼내오는 것이 아니라 저장소에서 읽어서 캐쉬에 저장을 해놓고 캐쉬에서 꺼내쓴다면 속도향상과 저장소에 대한 트래픽을 줄일 수 있어서 효율적으로 사용이 가능하다. 

 

자료읽기 요청 

1. 캐쉬에서 자료읽기 

 만약 데이터가 없으면, 저장소에서 읽어온 후 캐쉬에 자료를 저장한다

2. 자료 쓰기 요청

저장소에 자료를 쓰고 캐쉬를 삭제한다

 

이 때, 저장소는 외부에서 변경되지 않는 다는 보장이 되어야하며 외부에서 변경된다면, 캐쉬데이터와 저장데이터간으 ㅣ차이가 발생하게 된다. 

 

캐쉬를 저장하는 SetCache
캐쉬를 조회하는 GetCache
캐쉬를 삭제하는 RemoveCache

캐쉬 종류는 

1. Absolute Expiration 

- 지정된 만료 시간이 지나면 무조건 캐쉬가 삭제되는 것

2. Sliding Expiration 

- 동일하게 지정된 만료시간에 캐쉬가 삭제되지만 GetCaChe를 할 때마다 자동으로 만료시간이 연장이 된다. 

 

 

** 22.10.31 업무 **

현업에서는 이미지 URL을 서버에서 가져오고 이를 띄워주는 방식을 캐쉬시스템을 활용하여 구현했다. 

기존에는 CaChe를 사용하여 한번이라도 접속한 경로의 이미지를 한 번 더 들어오게 되면 그 캐쉬에서 꺼내오는 방식으로 

구현되어있었지만 중간에 장비정보 포함 여부에 대해 세팅에서 바꾸어 주는 기능이 추가되어 체크 유무에 따라 이미지를 가져오는 저장소 Url이 변경되었다. 접근하는 저장소의 경로가 세팅에서 장비정보를 포함하여 줄지의 여부에 따라 달라졌기 때문에 기존에 쌓아두었던 캐쉬정보를 어느시점에서 Clear해줄지를 고민해보아야 했다. 

 

 

 

 

//Copyright 헝그리개발자(https://bemeal2.tistory.com)
반응형

'Language > C#' 카테고리의 다른 글

Garbage Collection  (0) 2022.12.22
[ 벤치마크 ] 부하분산 체크  (0) 2022.10.26
modal form 만들기  (0) 2022.10.24
모달 / 모달리스  (0) 2022.10.24
[TDD]  (0) 2022.10.18