リストを使用して、自分のサイトで非常に単純なコメント システムを作成しています。
投稿は、コメントされたアイテムの ID を使用して LPUSH を通じて行われます。検索は LRANGE を介して行われ、結果の配列をループします。
これがコメントを処理する最良の方法であるかどうか疑問に思っていましたか? パフォーマンスレベルでそれは良い考えですか?
また、節度を保つにはどうすればよいですか?リストから特定のアイテムを削除する方法ではないようです。
前もって感謝します。
リストを使用して、自分のサイトで非常に単純なコメント システムを作成しています。
投稿は、コメントされたアイテムの ID を使用して LPUSH を通じて行われます。検索は LRANGE を介して行われ、結果の配列をループします。
これがコメントを処理する最良の方法であるかどうか疑問に思っていましたか? パフォーマンスレベルでそれは良い考えですか?
また、節度を保つにはどうすればよいですか?リストから特定のアイテムを削除する方法ではないようです。
前もって感謝します。
LREM (リスト項目の値に基づいてシークおよび削除する) を使用する代わりに、インデックスに基づいてコメントを削除できるようにする場合は、セットとハッシュを使用できます。
投稿ごとに、その投稿のコメントの ID を含む単純なセットを保持します。
SADD Comments:post:1 1
SADD Comments:post:1 2
(これにより、コメント ID 1 と 2 を持つ投稿 ID 1 がマークされます)
次に、コメントごとにハッシュ キーを設定します。
HSET Comments:1 1 "This will be a comment for post 1"
HSET Comments:1 2 "A second comment for the same post"
Comments:1
次に、投稿 ID 1 などのすべてのコメントのハッシュをクエリできます。
HGETALL Comments:1
そして、単一のコメントの削除は次のように行うことができます:
SREM Comments:post:1 1
HDEL Comments:1 1
(ここでは最初のコメントを削除しています)。