@@ -146,8 +146,6 @@ public function getItems(array $keys = []): iterable
146
146
foreach ($ keys as $ key ) {
147
147
if ('' !== $ key && \is_string ($ key )) {
148
148
$ commit = $ commit || isset ($ this ->deferred [$ key ]);
149
- $ key = static ::TAGS_PREFIX .$ key ;
150
- $ tagKeys [$ key ] = $ key ; // BC with pools populated before v6.1
151
149
}
152
150
}
153
151
@@ -156,7 +154,7 @@ public function getItems(array $keys = []): iterable
156
154
}
157
155
158
156
try {
159
- $items = $ this ->pool ->getItems ($ tagKeys + $ keys );
157
+ $ items = $ this ->pool ->getItems ($ keys );
160
158
} catch (InvalidArgumentException $ e ) {
161
159
$ this ->pool ->getItems ($ keys ); // Should throw an exception
162
160
@@ -166,18 +164,24 @@ public function getItems(array $keys = []): iterable
166
164
$ bufferedItems = $ itemTags = [];
167
165
168
166
foreach ($ items as $ key => $ item ) {
169
- if (isset ($ tagKeys [$ key ])) { // BC with pools populated before v6.1
170
- if ($ item ->isHit ()) {
171
- $ itemTags [substr ($ key , \strlen (static ::TAGS_PREFIX ))] = $ item ->get () ?: [];
172
- }
173
- continue ;
174
- }
175
-
176
167
if (null !== $ tags = $ item ->getMetadata ()[CacheItem::METADATA_TAGS ] ?? null ) {
177
168
$ itemTags [$ key ] = $ tags ;
178
169
}
179
170
180
171
$ bufferedItems [$ key ] = $ item ;
172
+
173
+ if (null === $ tags ) {
174
+ $ key = static ::TAGS_PREFIX .$ key ;
175
+ $ tagKeys [$ key ] = $ key ; // BC with pools populated before v6.1
176
+ }
177
+ }
178
+
179
+ if ($ tagKeys ) {
180
+ foreach ($ this ->pool ->getItems ($ tagKeys ) as $ key => $ item ) {
181
+ if ($ item ->isHit ()) {
182
+ $ itemTags [substr ($ key , \strlen (static ::TAGS_PREFIX ))] = $ item ->get () ?: [];
183
+ }
184
+ }
181
185
}
182
186
183
187
$ tagVersions = $ this ->getTagVersions ($ itemTags , false );
0 commit comments