Page MenuHomeWickedGov Phorge

ArrayStatsStore.php
No OneTemporary

Size
1 KB
Referenced Files
None
Subscribers
None

ArrayStatsStore.php

<?php
namespace Wikimedia\WRStats;
/**
* In-memory stats store.
*/
class ArrayStatsStore implements StatsStore {
/**
* @var array[] Associative array mapping data keys to arrays where the
* first entry is the value and the second is the TTL.
*/
private $data = [];
public function makeKey( $prefix, $internals, $entity ) {
$globality = $entity->isGlobal() ? 'global' : 'local';
return implode( ':',
array_merge( [ $globality ], $prefix, $internals, $entity->getComponents() )
);
}
public function incr( array $values, $ttl ) {
foreach ( $values as $key => $value ) {
if ( !isset( $this->data[$key] ) ) {
$this->data[$key] = [ 0, $ttl ];
}
$this->data[$key][0] += $value;
}
}
public function delete( array $keys ) {
foreach ( $keys as $key ) {
unset( $this->data[$key] );
}
}
public function query( array $keys ) {
$values = [];
foreach ( $keys as $key ) {
if ( isset( $this->data[$key] ) ) {
$values[$key] = $this->data[$key][0];
}
}
return $values;
}
/**
* @return array
*/
public function getData() {
return $this->data;
}
}

File Metadata

Mime Type
text/x-php
Expires
Sat, May 16, 13:25 (1 d, 16 h)
Storage Engine
local-disk
Storage Format
Raw Data
Storage Handle
60/ff/ae5bf878b2ebabf5eba280ca97ec
Default Alt Text
ArrayStatsStore.php (1 KB)

Event Timeline