Memcached 사용 가이드
고도몰에서 제공하는 멤캐시를 사용하여 시스템 성능을 향상시킬 수 있는 방법을 안내 드립니다.
고도몰 멤캐시 소개
라이브러리
고도몰 멤캐시 기능은 Symfony Cache v3.4 라이브러리를 바탕으로 구현되었습니다.
Eviction 정책
고도몰 멤캐시 Eviction 정책은 LRU (Least Recently Used) 방식입니다.
코딩 가이드
Using namespaces
고도몰에서 제공하는 캐시 함수는 SimpleCache 클래스 내부에 구현되어 있습니다.
캐시 함수를 사용하는 곳에서 SimpleCache namespaces 를 불러와주세요.
use Framework\SimpleCache\SimpleCache;고도몰 캐시 함수
고도몰에서 제공하는 캐시 함수의 종류는 총 5개입니다.
set()
has()
get()
getSet()
delete()
set
캐시 내부에 데이터를 저장하는 함수입니다.
위와 같이 set 함수를 이용할 수 있습니다.
ttl 값은 300을 초과할 수 없습니다.
has
캐시 내 조회하고자 하는 key에 대한 데이터가 있는지 확인하는 함수입니다.
위와 같이 has 함수를 이용할 수 있습니다.
get
캐시 내 저장된 데이터의 value를 반환하는 함수입니다. 조회하고자 하는 키값이 존재하지 않을 경우 null을 반환합니다.
위와 같이 get 함수를 이용할 수 있습니다.
getSet
캐시 내 조회하고자 하는 키값의 데이터가 있을 경우, 캐시 데이터를 반환하고 캐시 내 조회하고자 하는 키값의 데이터가 없을 경우, 2번째 파라미터의 람다 함수 내 로직 실행 결과를 캐시에 set 한 다음 저장된 데이터를 반환합니다.
$callback이null일 경우에는 캐시에 저장되는 값이 없으며,null로 return 됩니다.
위와 같이 getSet 함수를 이용할 수 있습니다.
ttl 값은 300을 초과할 수 없습니다.
delete
캐시 내 저장된 데이터를 삭제하는 함수입니다.
위와 같이 delete 함수를 이용할 수 있습니다.
개발 시 유의사항
캐싱 처리가 필요한 위치에서 직접 가이드에 제공된 함수를 호출하여 사용해주세요.
캐싱 처리를 위한 클래스를 생성하여 기존 클래스를 상속받는 방법은 성능 저하와 클래스 간의 복잡성을 증가시킬 수 있습니다. 가급적 가이드 내에 소개된 방식에 맞춰 활용하시는 것을 권장합니다.
Last updated
Was this helpful?
