"PHP Memcached 키 앞부분 일치하는 항목만 뽑기"의 두 판 사이의 차이

잔글 (봇: 자동으로 텍스트 교체 (-</source> +</syntaxhighlight>, -<source +<syntaxhighlight ))
 
(사용자 2명의 중간 판 8개는 보이지 않습니다)
7번째 줄: 7번째 줄:
* [[PHP Memcached 사용하기]]에서 입력한 항목을 추출함
* [[PHP Memcached 사용하기]]에서 입력한 항목을 추출함
* getAllKeys()로  모든 키를 가져와서 PHP 수준에서 추출함
* getAllKeys()로  모든 키를 가져와서 PHP 수준에서 추출함
<syntaxhighlight lang='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
#        )
# )
</syntaxhighlight>


==같이 보기==
==같이 보기==
* [[PHP Memcached 사용하기]]
* [[PHP Memcached 사용하기]]
* [[PHP배열 키 앞부분 일치하는 항목만 뽑기]]
* [[PHP배열 키 앞부분 일치하는 항목만 뽑기]]
* [[phpMemcachedAdmin]]


==참고 자료==
==참고==
* http://stackoverflow.com/questions/4889631/is-it-possible-to-get-search-memcached-keys-by-a-prefix
* http://stackoverflow.com/questions/4889631/is-it-possible-to-get-search-memcached-keys-by-a-prefix


[[분류: PHP Memcached]]
[[분류: PHP Memcached]]

2020년 11월 2일 (월) 02:56 기준 최신판

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 }}