PHP
downloads | documentation | faq | getting help | mailing lists | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

apc_load_constants> <apc_delete
Last updated: Fri, 05 Sep 2008

view this page in

apc_fetch

(PECL apc:3.0.0-3.0.9)

apc_fetch Fetch a stored variable from the cache

Description

mixed apc_fetch ( string $key )

Fetchs a stored variable from the cache.

Parameters

key

The key used to store the value (with apc_store()).

Return Values

The stored variable on success; FALSE on failure

Examples

Example #1 A apc_fetch() example

<?php
$bar 
'BAR';
apc_store('foo'$bar);
var_dump(apc_fetch('foo'));
?>

The above example will output:

string(3) "BAR"



apc_load_constants> <apc_delete
Last updated: Fri, 05 Sep 2008
 
add a note add a note User Contributed Notes
apc_fetch
marcus at synchromedia dot co dot uk
03-May-2008 07:54
Just to clarify the multi-get capability, the result is returned as an array with cache keys as the array keys. Any missing values re not returned, for example:

<?php
apc_delete
('test1');
apc_delete('test2');
apc_add('test1', 'test1');
$cached = apc_fetch(array('test1', 'test2'));
var_dump($cached);
?>

gives

array(1) {
  ["test1"]=>
  string(5) "test1"
}

If no keys are found, you get an empty array.
nospam dot list at unclassified dot de
21-Nov-2007 01:06
This function is often cited related to file upload tracking with PHP 5.2. So I thought this is a good place to put a warning.

If you setup PHP with FastCGI, you'll probably run into trouble using this function to get any information about a running upload. At least in my case, every HTTP request is handled by a different PHP process. I could track it with the getmypid() function, which returned a different value upon every request, but only from a limited set. Also, apc_cache_info() gave me all upload_* entries that were created in that process. So when the upload was initially catched by one PHP process, all progress updates must be fetched from the same process, too, because APC cache information does not seem to be shared across multiple processes handling that domain/virtual host. But that's impossible to tell because PHP has its own load management and serves every request by an arbitrary process.

So in short: When using FastCGI and multiple PHP processes (recommended for performance reasons), you cannot use APC upload tracking. You'll only get a status update every few requests.
thijsterlouw at gmail dot com_remove_this
28-Feb-2007 11:31
As of version 3.0.13 APC (released 2007-02-24) you can perform multiple key fetches with apc_fetch. Very useful to further optimize your application!
APC changelog:
http://pecl.php.net/package-changelog.php?package=APC

example:

<?php
apc_store
('key1', 'value1');
apc_store('key2', 'value2');

$keys = array('key1','key2');
$result = apc_fetch($keys);  //fetch multiple keys at once!

var_dump($result);
?>

apc_load_constants> <apc_delete
Last updated: Fri, 05 Sep 2008
 
 
show source | credits | stats | sitemap | contact | advertising | mirror sites