2016-10-14 12 views
0

私は、1つの単語を除いて同じ名前の複数のキーを持っています。(user.delete.iduser.add.iduser.update.id ...など)。これらのキーが存在する場合、特定のキーを削除したい。それは、以下のPHPのような何かをすることが可能ですのであれば、私は思っていた:UserクラスでREDIS EXISTS with PHP

$cachekey = 'user.' 

別のクラスでは

$redis->exists(User::$cachekey.'*.'.$id) 

はアスタリスク記号の作品を使用してのだろうか?

+0

あなただけのキーはキーを使用して取得することができます* .id。 * EXISTメソッドを削除したり使用することはできません – Vigikaran

答えて

0

@Vigikaranによると、あなたの解決策はEXISTSのようなコマンドには適用できません。

更新:改良された解決策

あなたの問題への慣用的な解決策は、値を格納するためにハッシュを使用することです。私は生のRedisのコマンドが、それは(正確な構文は、使用しているドライバに応じて変更される場合があります)PHPでliteraly変換する必要があります使用

HSET user.id add somevalue 

:あなたはuser.add.idの値を設定

キーの名前を変更しました。私の例ではuser.idです。あなたのキーの可変部分( 'add'、 'delete' ...)は、私のソリューションのフィールド名になります。

キーを削除したい場合は、HDELその後

HDEL user.id add 

は、少なくとも1つのキーの存在をテストするために使用し、ちょうど使用はEXISTS:

EXISTS user.id 
+0

大変ありがとうございます。私の値を格納するためにハッシュを使用してみます – LittleJ

+0

おそらく答えを受け入れることができますか? –