Redisと連携するために、predis(違いがある場合はlaravelを使用)phpクライアントを使用しています。
特定のプレフィックスに一致するすべてのキーを Redis から取得する必要があり、次のようにします。
$keys = [];
foreach (new Iterator\Keyspace($this->redis(), Cache::KEY_PREFIX.'*') as $key) {
$keys[] = $rate_key;
}
これらのキーでの作業が完了したら、操作が繰り返されます。ループ内で再びそれらのキーを取得しています。数回繰り返した後、一部のキーが $keys 配列に含まれていないことに気付きました。
最も奇妙なことは、消えたキーが次の反復で表示されないことです。php プロセス (デーモン) を再起動すると、問題が解決します。
Predis 1.0 および PHP 5.4 で Redis 3.0.2 を使用しています
PSキーのループ内で、それらのいくつかの値を変更します。ただし、キーは削除しません。