私はユーザーのリストを格納するためにredis Listを使用しています。私は、そのリストにユーザーがいるかどうかを確認したい。redisでリストに値が存在することを確認する方法はありますか?
例えば:私のリストは、私はNAME3がリストに存在するかどうかを確認したい
user: {name1,name2,name3}
です。どのようにして赤目を使用することが可能ですか?
私はユーザーのリストを格納するためにredis Listを使用しています。私は、そのリストにユーザーがいるかどうかを確認したい。redisでリストに値が存在することを確認する方法はありますか?
例えば:私のリストは、私はNAME3がリストに存在するかどうかを確認したい
user: {name1,name2,name3}
です。どのようにして赤目を使用することが可能ですか?
値をセットとして保存すると、セットメンバーシップをチェックできます。 phpredisページhttps://github.com/nicolasff/phpredisには、sAddコマンド(指定されたキーのセットにアイテムを追加する)とsIsMemberコマンド(指定されたキーのセットのメンバーであるかどうかを確認する)の例があります。
そうしないと、PHPでメンバーシップチェックをやり直す必要があります。
メンバーシップをチェックする必要がある場合、レディリストはおそらく最良のデータ構造ではありません。 msgmash.comが言っているように、この目的のためにセットが優れています。もしそれがユーザリストであれば、私は各要素がユニークであると推測していますか?その場合、セットはあなたが望むものです。
何らかの理由でリストが必要な場合は、リスト全体を取り出してそれを反復する(次善となる)以外は、LINSERT
の値の前または後に新しい値を設定するか、値が存在しない場合は-1を返します。ただし、値が存在する場合は、挿入したばかりの要素を削除する必要があります。同様の方法でLREM
を使用することもできます。
もう一度やり直してみてください。
いつものように、私はあなたがthe documentation for Redis commandsを読むことをお勧めします - それは非常に良いと明確なドキュメントです。
あなたがどうにかしてユーザーを何らかの方法で並べ替えたいと思えば、実際にはソートされたセットを使用して各要素にスコアがあり、リストは、アクセスはほぼO(1)