팁/튜토리얼

php-fpm 서버가 여럿인 경우는 답을 당연히 아실테고, 이 글은 1대의 php-fpm 서버일 때 유효합니다.

 

apcu 사용하면 php-cli <-> php-fpm 캐시가 공유 안 됩니다.

 

예를들면 php-cli 에서 글 수정하는 명령이 들어갔어도 유저한테 글 예전 내용이 보여질 수 있습니다.

 

그 외에도 캐시가 따로 노니까 php-cli 사용하는게 은근 스트레스 입니다.

 

rhymix core 에서도 이 점을 고려해서 php-cli 에서 curl 으로 php-fpm apcu 캐시를 지우는 코드를 얼핏 본거 같습니다만, 그래도 캐시 하나하나 http 으로 invalidate 하려면 노가다에 속합니다. ai 가 잘 정리해주긴 하지만요.

 

아주 쉬운 해결은 memcached 쓰면 됩니다.

 

이 글이 잘 이해가 되지 않는다면 캐시(apcu/memcached/redis)아무거나 쓰셔도 됩니다, php-cli 안 쓰기 때문입니다.

엘카 Lv. 4

댓글 1

  • 어느 정도 이상 규모가 있는 사이트라면 memcached가 확실히 더 안정적입니다.

    TCP 커넥션이 다소 부담되긴 하는데, 서버 1대라면 유닉스 소켓으로 접속하도록 설정하면 되고요.

     

    심지어 웹호스팅에서도 memcached를 부가서비스로 판매하는 곳이 있더군요.

    그런데 정작 그 업체의 웹호스팅 서버에는 memcached 확장이 설치되어 있지 않아서 연동이 안 되는;;;