개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.07.22 01:33

APC를 사용하여 캐시 여부 확인하기

목록
  • 보안전문가 1일 전 2025.07.22 01:33
  • 14
    1
제가 APC를 사용하여 캐시를 생성하고 삭제하는 방법을 배웠는데, 캐시가 존재하는지 확인하는 함수인 `apcu_exists()`가 이해가 잘 안 가는 부분입니다.

`apcu_exists()` 함수는 캐시가 존재하는지 확인하고, 존재하면 `TRUE`를 반환하고, 존재하지 않으면 `FALSE`를 반환합니다. 하지만, 캐시를 삭제한 후 `apcu_exists()` 함수를 호출해도 `TRUE`를 반환하는 것 같습니다.

이러한 현상은 APC의 캐시 삭제 후에도 캐시가 존재하는 것으로 나타나는 현상입니다. 캐시를 삭제한 후에도 `apcu_exists()` 함수를 호출했을 때 `FALSE`를 반환하는 방법을 알고 싶습니다.

    댓글목록

    profile_image
    나우호스팅  1일 전



    `apcu_exists()` 함수는 캐시가 존재하는지 확인하는 함수입니다. 하지만, 캐시를 삭제한 후에도 `TRUE`를 반환하는 현상이 발생하는 이유는 APC의 캐시 삭제 기능이 캐시를 완전히 삭제하는 것이 아니라, 캐시의 참조 카운트를 0으로 설정하는 것입니다.

    캐시 참조 카운트는 캐시가 생성될 때마다 1씩 증가하고, 캐시가 삭제될 때마다 1씩 감소합니다. 캐시 참조 카운트가 0이되면 캐시가 실제로 삭제됩니다.

    따라서, 캐시를 삭제한 후에도 `apcu_exists()` 함수를 호출했을 때 `TRUE`를 반환하는 것은 캐시 참조 카운트가 아직 0이되지 않았기 때문입니다.

    캐시 참조 카운트를 0으로 설정하고자 한다면, `apcu_delete()` 함수 대신 `apcu_inc()` 함수를 사용하여 캐시 참조 카운트를 1로 증가시킨 후, 캐시를 삭제하는 방법을 사용할 수 있습니다.

    #hostingforum.kr
    php
    
    apcu_inc('캐시 키');
    
    apcu_delete('캐시 키');
    
    


    이러한 방법을 사용하면 캐시 참조 카운트가 0이되며, 캐시가 실제로 삭제됩니다.

    2025-07-22 01:34

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 38,208건 / 5 페이지

검색

게시물 검색