diff --git a/reference/memcached/book.xml b/reference/memcached/book.xml
index 0a4f3e581e..be8497535c 100644
--- a/reference/memcached/book.xml
+++ b/reference/memcached/book.xml
@@ -1,5 +1,5 @@
-
+
Memcached
@@ -31,9 +31,9 @@
&reference.memcached.setup;
&reference.memcached.constants;
- &reference.memcached.callbacks;
&reference.memcached.examples;
&reference.memcached.expiration;
+ &reference.memcached.callbacks;
&reference.memcached.memcached;
diff --git a/reference/memcached/callbacks.xml b/reference/memcached/callbacks.xml
index b4cf848f9b..bb573c66eb 100644
--- a/reference/memcached/callbacks.xml
+++ b/reference/memcached/callbacks.xml
@@ -1,12 +1,101 @@
-
+
Callbacks
-
- Placeholder
+
+ Result callbacks
+
+ Result callbacks are invoked by
+ Memcached::getDelayed or
+ Memcached::getDelayedBykey methods for each item in
+ the result set. The callback is passed the Memcached object and the array
+ with the item information. The callback does not have to return anything.
+
+
+ Result callback example
+
+addServer('localhost', 11211);
+$items = array(
+ 'key1' => 'value1',
+ 'key2' => 'value2',
+ 'key3' => 'value3'
+);
+$m->setMulti($items);
+$m->getDelayed(array('key1', 'key3'), true, 'result_cb');
+
+function result_cb($memc, $item)
+{
+ var_dump($item);
+}
+?>
+]]>
+
+ &example.outputs.similar;
+
+
+ string(4) "key1"
+ ["value"]=>
+ string(6) "value1"
+ ["cas"]=>
+ float(49)
+}
+array(3) {
+ ["key"]=>
+ string(4) "key3"
+ ["value"]=>
+ string(6) "value3"
+ ["cas"]=>
+ float(50)
+}
+]]>
+
+
+
+
+ Read-through cache callbacks
+
+ Read-through cache callbacks are invoked when an item cannot be retrieved
+ from the server. The callback is passed the Memcached object, the requested
+ key, and the by-reference value variable. The callback is responsible for
+ setting the value and returning true or false. If the callback returns true,
+ Memcached will store the populated value on the server and return it to the
+ original calling function. Only Memcached::get and
+ Memcached::getByKey support these callbacks,
+ because the memcache protocol does not provide information on which keys
+ were not found in the multi-key request.
+
+
+ Read-through callback example
+
+addServer('localhost', 11211);
+
+$profile_info = $m->get('user:'.$user_id, 'user_info_cb');
+
+function user_info_cb($memc, $key, &$value)
+{
+ $user_id = substr($key, 5);
+ /* lookup profile info in the DB */
+ ...
+ $value = $profile_info;
+ return true;
+}
+?>
+]]>
+
+
+
+
+
@@ -26,7 +26,7 @@
Unlike Memcached::get it is not possible to
specify a read-through cache callback for
Memcached::getMulti, because the memcache protocol
- does provide information on which keys were not found in the multi-key
+ does not provide information on which keys were not found in the multi-key
request.
diff --git a/reference/memcached/memcached/getresultcode.xml b/reference/memcached/memcached/getresultcode.xml
index 651ab2cda8..528fda1f56 100644
--- a/reference/memcached/memcached/getresultcode.xml
+++ b/reference/memcached/memcached/getresultcode.xml
@@ -1,20 +1,22 @@
-
+
Memcached::getResultCode
- The getResultCode purpose
+ Return the result code of the last operation
&reftitle.description;
- public voidMemcached::getResultCode
+ public intMemcached::getResultCode
- The method description goes here.
+ Memcached::getResultCode returns one of the
+ Memcached::RES_* constants that is the result of the
+ last executed Memcached method.
@@ -26,7 +28,7 @@
&reftitle.returnvalues;
- Description...
+ Result code of the last Memcached operation.
@@ -38,29 +40,20 @@
addServer('localhost', 11211);
+
+$m->add('foo', 'bar');
+if ($m->getResultCode() == Memcached::RES_NOTSTORED) {
+ ...
+}
?>
]]>
- &example.outputs.similar;
-
-
-
-
- &reftitle.seealso;
-
-
- Classname::Method
-
-
-
-