Use TTL for in-memory cache to support long-lived instances
This commit is contained in:
1 parent
d52d7c3f2d
commit
62ad60f3df
3 files changed
+63
-11
No files matched your search
@@ -29,19 +29,26 @@ class ObjectRetrieverCacheTest extends \PHPUnit\Framework\TestCase {
|
||||
$this->assertNotNull($cacheStorage->fetch($retriever->getCacheKey((string)$coid)));
|
||||
$this->assertStringContainsString('from Core API', $logger->getLastLogMessage());
|
||||
|
||||
// Get from same retriever, assert in-memory-cache
|
||||
$object2 = $retriever->getCloudObject($coid);
|
||||
|
||||
$this->assertNotNull($object1);
|
||||
$this->assertStringContainsString('previous', $logger->getLastLogMessage());
|
||||
|
||||
// Reinitialize retriever with same cache storage to verify that cache is used
|
||||
$retriever = new ObjectRetriever([
|
||||
'cache_storage' => $cacheStorage,
|
||||
'logger' => $logger
|
||||
]);
|
||||
|
||||
$object2 = $retriever->getCloudObject($coid);
|
||||
$object3 = $retriever->getCloudObject($coid);
|
||||
|
||||
$this->assertNotNull($object2);
|
||||
$this->assertNotNull($cacheStorage->fetch($retriever->getCacheKey((string)$coid)));
|
||||
$this->assertStringContainsString('from object cache', $logger->getLastLogMessage());
|
||||
|
||||
$this->assertEquals($object1->getRevision(), $object2->getRevision());
|
||||
$this->assertEquals($object2->getRevision(), $object3->getRevision());
|
||||
}
|
||||
|
||||
}
|
||||
Reference in new issue
Block a user