array apc_cache_info ([ string $cache_type [, bool $limited ]] )
인자값중 $cache_type 을 "user" 로 주면 apc_cache_info 를 사용해서 apc_store 나 apc_add 로 캐시한 내용들의 목록을 가져올 수 있다. 예제 코드와 그 출력된 결과는 다음과 같다.
<?php
$s = "example string";
apc_store('five', $s, 5);
apc_store('minute', $s, 60);
apc_store('noTTL', $s);
print_r(apc_cache_info('user'));
?>
$s = "example string";
apc_store('five', $s, 5);
apc_store('minute', $s, 60);
apc_store('noTTL', $s);
print_r(apc_cache_info('user'));
?>
more..
Array
(
[num_slots] => 2000
[ttl] => 0
[num_hits] => 0
[num_misses] => 0
[start_time] => 1196245414
[expunges] => 16
[mem_size] => 1644
[num_entries] => 3
[num_inserts] => 24
[file_upload_progress] => 1
[memory_type] => IPC shared
[locking_type] => file
[cache_list] => Array
(
[0] => Array
(
[info] => five
[ttl] => 5
[type] => user
[num_hits] => 0
[mtime] => 1196246312
[creation_time] => 1196246312
[deletion_time] => 0
[access_time] => 1196246312
[ref_count] => 0
[mem_size] => 546
)
[1] => Array
(
[info] => noTTL
[ttl] => 0
[type] => user
[num_hits] => 0
[mtime] => 1196246312
[creation_time] => 1196246312
[deletion_time] => 0
[access_time] => 1196246312
[ref_count] => 0
[mem_size] => 548
)
[2] => Array
(
[info] => minute
[ttl] => 60
[type] => user
[num_hits] => 0
[mtime] => 1196246312
[creation_time] => 1196246312
[deletion_time] => 0
[access_time] => 1196246312
[ref_count] => 0
[mem_size] => 550
)
)
[deleted_list] => Array
(
)
)
쉽게 리스트를 뽑아 올 수 있다. 하지만 문제가 있다. ttl을 설정할 시 ttl이 만료되어도 (즉 변수를 apc_fetch 를 통해 가져올 수 없는 경우에도) 리스트에 나타난다는 것이다. 성능상의 이유로 캐시리스트를 리플레시하지 않는 것 같다. 대신 apc_fetch 를 통해 해당 변수를 접근 한 후에는 리스트에서 사라진다. 실제적으론 ttl을 적용할려면 time() 으로 현재 시간을 얻어내서 배열의 mtime값과의 차가 ttl값을 넘기는지 확인하여야 한다. 목록에서 지우기 위해서는 해당 변수에 한번 접근을 하면 된다.(apc_fetch)
'ide | environment' 카테고리의 다른 글
이클립스(eclipse)가 시동 시 응답없음. (building workspace 0%) (5) | 2010.10.05 |
---|---|
Git 사용기 (windows 환경에서 GIT-GUI 와 github.com 을 중점으로) (11) | 2010.05.19 |
SourceSafe Error 'Cannot find SS.INI for user' (1) | 2009.02.06 |
apache2 mod_deflate (gzip) (0) | 2008.05.14 |
ALTER TABLE 로 테이블명 바꾸기 / 컬럼명 바꾸기 (0) | 2008.05.07 |