bentools / redis-psr6-ttl-aware-adapter
覆盖Symfony PSR6缓存RedisAdapter,获取现有项的过期时间。
v1.0.1
2016-09-02 12:15 UTC
Requires (Dev)
- symfony/cache: ~3.1
This package is auto-updated.
Last update: 2024-09-15 00:06:22 UTC
README
覆盖Symfony PSR6缓存RedisAdapter,获取现有项的过期时间。
这允许,例如,在缓存中增加一个值直到它过期。原始的Symfony缓存实现实际上在每次调用save()后重置过期延迟。
示例用法
$redis = new Redis(); $redis->connect('127.0.0.1'); $cache = new \BenTools\Cache\Adapter\RedisTTLAwareAdapter($redis); $key = 'my.example'; # Assume my.example does not exist var_dump($cache->hasItem($key)); // false $item = $cache->getItem($key); $item->set(1); $item->expiresAfter(5); // expires in 5 seconds $cache->save($item); sleep(2); # After 2 seconds, my.example == 1 var_dump($cache->hasItem($key)); // true $item = $cache->getItem($key); $value = $item->get(); // 1 var_dump($value); // 1 $item->set($value + 1); $cache->save($item); sleep(2); # After 4 seconds, my.example == 2 var_dump($cache->hasItem($key)); // true $item = $cache->getItem($key); $value = $item->get(); var_dump($value); // 2 $item->set($value + 1); $cache->save($item); sleep(2); # After 6 seconds, my.example does not exist anymore var_dump($cache->hasItem($key)); // false $item = $cache->getItem($key); $value = $item->get(); var_dump($value); // null
安装
composer require bentools/redis-psr6-ttl-aware-adapter