2016-05-07 1 views
2

RedisはキーのTTLを返すことができます。また、新しい有効期限を設定することもできます。 ZF2 Redis Cache Storage Adapterを使用して同じことを達成する方法がわかりません。ZF2 Redis Adapter:TTLを取得するか、またはキーの新しい有効期限を設定しますか?

私は各adapaterインスタンスに対してデフォルトのTTLを設定できますが、値が何秒間残っているかを知ることができなければならず、値に触れることができず、明示的に新しい有効期限を設定することさえできます。

Zendのアダプターを使ってこれを実現する方法はありますか?これを回避して直接行う方法はありますか?

答えて

1

次の規則を使用して、一時的な有効期限を設定できます。私はあなたがあなたのRedisのコマンドライン上のキーのために残された秒数を知っているTTLコマンドを使用する必要があり、時間

/** 
* @var \Zend\Cache\Storage\Adapter\Redis $redisCache 
*/ 
$redisCache = $this->getServiceLocator()->get('core.cache.redis'); 
$tempTtl = $redisCache->getOptions()->getTtl(); 
$redisCache->getOptions()->setTtl(5); 
var_dump($redisCache->setItem('test', '123456')); 
$redisCache->getOptions()->setTtl($tempTtl); 

を期限切れに得ることができる方法を知りません。しかし、Zend Cacheはこのコマンドを処理しません。このコマンドを使用する場合は、zend default adapter(\Zend\Cache\Storage\Adapter\Redis)を拡張してそこに機能を追加することができます。カスタムアダプタに合わせて設定を変更してください。

関連する問題