@@ -29,6 +29,8 @@ class Psr6Cache implements CacheInterface, PruneableInterface, ResettableInterfa
2929{
3030 use ProxyTrait;
3131
32+ private const METADATA_EXPIRY_OFFSET = 1527506807 ;
33+
3234 private $ createCacheItem ;
3335 private $ cacheItemPrototype ;
3436
@@ -58,7 +60,7 @@ function ($key, $value, $allowInt = false) use (&$cacheItemPrototype) {
5860 }
5961 $ this ->createCacheItem = $ createCacheItem ;
6062
61- return $ createCacheItem ($ key , $ value , $ allowInt );
63+ return $ createCacheItem ($ key , null , $ allowInt)-> set ( $ value );
6264 };
6365 }
6466
@@ -147,8 +149,29 @@ public function getMultiple($keys, $default = null)
147149 }
148150 $ values = array ();
149151
152+ if (!$ this ->pool instanceof AdapterInterface) {
153+ foreach ($ items as $ key => $ item ) {
154+ $ values [$ key ] = $ item ->isHit () ? $ item ->get () : $ default ;
155+ }
156+
157+ return $ value ;
158+ }
159+
150160 foreach ($ items as $ key => $ item ) {
151- $ values [$ key ] = $ item ->isHit () ? $ item ->get () : $ default ;
161+ if (!$ item ->isHit ()) {
162+ $ values [$ key ] = $ default ;
163+ continue ;
164+ }
165+ $ values [$ key ] = $ item ->get ();
166+
167+ if (!$ metadata = $ item ->getMetadata ()) {
168+ continue ;
169+ }
170+ unset($ metadata [CacheItem::METADATA_TAGS ]);
171+
172+ if ($ metadata ) {
173+ $ values [$ key ] = array ("\x9D" .pack ('VN ' , (int ) $ metadata [CacheItem::METADATA_EXPIRY ] - self ::METADATA_EXPIRY_OFFSET , $ metadata [CacheItem::METADATA_CTIME ])."\x5F" => $ values [$ key ]);
174+ }
152175 }
153176
154177 return $ values ;
0 commit comments