답변 4개
안녕하세요. 그누보드6 캐싱 기능은 아래와 같이 사용되고 있습니다.
1. Fastapi 의존성 캐싱
- 참고 : https://fastapi.tiangolo.com/tutorial/dependencies/sub-dependencies/#using-the-same-dependency-multiple-times">Using the same dependency multiple times
2. cachetools 서드파티 라이브러리를 활용. (플러그인 및 일부 함수에 적용한 상태)
</p>
<p># lib/common.py</p>
<p> </p>
<p>@cached(TTLCache(maxsize=10, ttl=300))</p>
<p>def get_populars(limit: int = 10, day: int = 3):</p>
<p> """인기검색어 조회</p>
<p> ...</p>
<p>
3. FileCache() 클래스 (render_latest_posts() 함수에서 사용)
댓글을 작성하려면 로그인이 필요합니다.
그누보드6이 자체적으로 지원하는 캐시는 없습니다. fastapi 의 서드파티로 사용할 수 있지만 그누보드6이 자체적으로 최적화된 캐시 디자인이 없기 때문에 다소 제한적이거나 효율성 문제는 예상되네요. 모듈만 설치한다고 알아서 척척 되는 것도 아니고요.
그누보드5는 일부분에 캐시가 적용되어있으나 구현에 문제가있어 캐시효과를 제대로 활용할 수 없거나 전혀 효과를 볼 수 없도록 잘못 만들어져있습니다. 다수의 코드를 제대로 고쳐야만 사용할 수 있습니다.
잘못 구현된 캐시처리를 위한 코드를 고친다면 전혀 동작하지 않던 코드가 제대로 동작될 때 사이드이펙트가 발생할 수도 있습니다. 아주 오랫동안 잘못 구현되어있었기 때문에 전혀 관리되지 못한 코드가 동작되어버리는 셈이죠. 캐시가 제때 갱신되지 못하는 등의 영향이 있을 수 있습니다.
잘못된 코드를 고친다해도 설정에서 켜고 끌 수 있는게 아니라 플러그인을 개발하여 구현해야 합니다. 자료실에 memcached 연동 플러그인은 있습니다만...
캐시 관련 코드가 있지만 없는거나 별반 다르지 않은 상황이라고 보시면 됩니다.
현재는 사용할 수 있는 캐시는 최신게시물 위젯의 캐시 정도만 활용할 수 있습니다.
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인