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