MediaWiki REL1_31
WinCacheBagOStuff.php
Go to the documentation of this file.
1<?php
31 protected function doGet( $key, $flags = 0 ) {
32 $val = wincache_ucache_get( $key );
33 if ( is_string( $val ) ) {
34 $val = unserialize( $val );
35 }
36
37 return $val;
38 }
39
40 public function set( $key, $value, $expire = 0, $flags = 0 ) {
41 $result = wincache_ucache_set( $key, serialize( $value ), $expire );
42
43 /* wincache_ucache_set returns an empty array on success if $value
44 * was an array, bool otherwise */
45 return ( is_array( $result ) && $result === [] ) || $result;
46 }
47
48 public function delete( $key ) {
49 wincache_ucache_delete( $key );
50
51 return true;
52 }
53
54 public function merge( $key, callable $callback, $exptime = 0, $attempts = 10, $flags = 0 ) {
55 if ( wincache_lock( $key ) ) { // optimize with FIFO lock
56 $ok = $this->mergeViaLock( $key, $callback, $exptime, $attempts, $flags );
57 wincache_unlock( $key );
58 } else {
59 $ok = false;
60 }
61
62 return $ok;
63 }
64}
serialize()
unserialize( $serialized)
interface is intended to be more or less compatible with the PHP memcached client.
Definition BagOStuff.php:47
mergeViaLock( $key, $callback, $exptime=0, $attempts=10, $flags=0)
Wrapper for WinCache object caching functions; identical interface to the APC wrapper.
doGet( $key, $flags=0)
merge( $key, callable $callback, $exptime=0, $attempts=10, $flags=0)
Merge changes into the existing cache value (possibly creating a new one)
namespace being checked & $result
Definition hooks.txt:2323