public function getMulti(array $keys, array &$tokens = null)
{
// escape input, can't bind multiple params for IN()
$quoted = array();
foreach ($keys as $key) {
$quoted[] = $this->client->quote($key);
}
$statement = $this->client->prepare("SELECT k, v\n FROM {$this->table}\n WHERE\n k IN (" . implode(',', $quoted) . ') AND
(e IS NULL OR e >= :expire)');
$statement->execute(array(':expire' => date('Y-m-d H:i:s')));
$values = $statement->fetchAll(PDO::FETCH_ASSOC);
$result = array();
$tokens = array();
foreach ($values as $value) {
$tokens[$value['k']] = $value['v'];
$result[$value['k']] = $this->unserialize($value['v']);
}
return $result;
}