그누보드6 최신글 캐시파일명에 대해서....
본문
/g6/data/cache/latest-free-pc-basic-6-24-d26e66.html
이런 식으로 파일명이 작성되어 있더라구요.
저 파란색 부분 숫자와 문자열은 무슨 의미일까요?
그누보드6 코드의 어느 파일 어느 부분에서 이 파일들을 생성시키는지 궁금합니다.
답변 1
캐시파일 이름은 `render_latest_posts()` 함수 내부에서 선언되며,
`latest-{게시판코드}-{접속기기}-{스킨이름}-{게시글 수}-{제목길이}-{문자열}.html` 의 규칙을 가지고있습니다.
- 6 : 출력할 게시글 수
- 24 : 제목 길이 제한 수
- d26e66 : 문자열을 해싱한 임의의 6자리 문자열
또한 캐시파일 생성은 `render_latest_posts()` 함수 끝 부분에서 `FileCache` 클래스의 `create()` 함수를 통해 생성됩니다.
# lib > board_lib.py
def render_latest_posts(request: Request, skin_name: str = 'basic', bo_table: str='',
rows: int = 10, subject_len: int = 40):
...
device = request.state.device
file_cache = FileCache()
cache_filename = f"latest-{bo_table}-{device}-{skin_name}-{rows}-{subject_len}-{file_cache.get_cache_secret_key()}.html"
cache_file = os.path.join(file_cache.cache_dir, cache_filename)
...
temp = templates.TemplateResponse(f"latest/{skin_name}.html", context)
temp_decode = temp.body.decode("utf-8")
# 캐시 파일 생성
file_cache.create(temp_decode, cache_file)
return temp_decode
답변을 작성하시기 전에 로그인 해주세요.