Ejemplo n.º 1
0
 /**
  * {@inheritdoc}
  */
 public function getMultiple(array $keys)
 {
     $values = array();
     $load = array();
     foreach ($keys as $key) {
         // Check if we have a value in the cache.
         if (isset($this->cache[$key])) {
             $values[$key] = $this->cache[$key];
         } elseif (!array_key_exists($key, $this->cache)) {
             $load[] = $key;
         }
     }
     if ($load) {
         $loaded_values = $this->keyValueStore->getMultiple($load);
         foreach ($load as $key) {
             // If we find a value, even one that is NULL, add it to the cache and
             // return it.
             if (isset($loaded_values[$key]) || array_key_exists($key, $loaded_values)) {
                 $values[$key] = $loaded_values[$key];
                 $this->cache[$key] = $loaded_values[$key];
             } else {
                 $this->cache[$key] = NULL;
             }
         }
     }
     return $values;
 }
Ejemplo n.º 2
0
 /**
  * {@inheritdoc}
  */
 public function doLoadMultiple(array $ids = NULL)
 {
     if (empty($ids)) {
         $entities = $this->keyValueStore->getAll();
     } else {
         $entities = $this->keyValueStore->getMultiple($ids);
     }
     return $this->mapFromStorageRecords($entities);
 }