PHP Memcached 키 앞부분 일치하는 항목만 뽑기

Jmnote bot (토론 | 기여)님의 2017년 6월 27일 (화) 12:20 판 (봇: 자동으로 텍스트 교체 (-== 참고 자료 == +==참고==))

1 개요

PHP Memcached 키 앞부분 일치하는 항목만 뽑기
  • Memcached 자체적으로는 그러한 기능을 제공하지 않음
참고로 Redis는 그런 기능이 있음
따라서 아래 예시는 효율적이지 않음
사용시 성능 저하에 주의 필요
  • PHP Memcached 사용하기에서 입력한 항목을 추출함
  • getAllKeys()로 모든 키를 가져와서 PHP 수준에서 추출함
$mcd = new Memcached;
$mcd->addServer('127.0.0.1',11211);

#$keys = array_filter( $mcd->getAllKeys(),
#	function($key) { return preg_match('/^cachetest/', $key); } );
$prefix = 'cachetest';
$keys = array_filter( $mcd->getAllKeys(),
	function($key) use ($prefix) { return preg_match("/^$prefix/", $key); } );

print_r( $keys );
# (
#     [0] => cachetest3
#     [1] => cachetest2
#     [2] => cachetest1
#     [3] => cachetest0
#     [4] => cachetest5
#     [5] => cachetest4
# )

print_r( $mcd->getMulti( $keys ) );
# Array
# (
#     [cachetest3] => 1
#     [cachetest2] => a string
#     [cachetest1] => 4542.32
#     [cachetest0] => 123
#     [cachetest5] => stdClass Object
#         (
#             [key1] => value1
#         )
# 
#     [cachetest4] => Array
#         (
#             [0] => 123
#             [1] => string
#         )
# )

2 같이 보기

3 참고

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}