47 $this->maxCacheKeys = isset(
$params[
'maxKeys'] ) ?
$params[
'maxKeys'] : INF;
48 if ( $this->maxCacheKeys <= 0 ) {
49 throw new InvalidArgumentException(
'$maxKeys parameter must be above zero' );
54 $et = $this->bag[$key][self::KEY_EXP];
55 if ( $et == self::TTL_INDEFINITE || $et > $this->
getCurrentTime() ) {
59 $this->
delete( $key );
72 return isset( $this->bag[$key] );
75 protected function doGet( $key, $flags = 0 ) {
76 if ( !$this->
hasKey( $key ) ) {
80 if ( $this->
expire( $key ) ) {
85 $temp = $this->bag[$key];
86 unset( $this->bag[$key] );
87 $this->bag[$key] = $temp;
89 return $this->bag[$key][self::KEY_VAL];
92 public function set( $key,
$value, $exptime = 0, $flags = 0 ) {
94 unset( $this->bag[$key] );
100 if ( count( $this->bag ) > $this->maxCacheKeys ) {
102 $evictKey =
key( $this->bag );
103 unset( $this->bag[$evictKey] );
109 public function delete( $key ) {
110 unset( $this->bag[$key] );
interface is intended to be more or less compatible with the PHP memcached client.
convertExpiry( $exptime)
Convert an optionally relative time to an absolute time.
Simple store for keeping values in an associative array for the current process.
hasKey( $key)
Does this bag have a non-null value for the given key?
int $maxCacheKeys
Max entries allowed.
design txt This is a brief overview of the new design More thorough and up to date information is available on the documentation wiki at etc Handles the details of getting and saving to the user table of the and dealing with sessions and cookies OutputPage Encapsulates the entire HTML page that will be sent in response to any server request It is used by calling its functions to add in any and then calling but I prefer the flexibility This should also do the output encoding The system allocates a global one in $wgOut Title Represents the title of an and does all the work of translating among various forms such as plain database key