我正在使用列表在我的网站上创建真正的简单评论系统;
通过LPUSH完成发布,其中包含注释项的ID。检索通过LRANGE完成,然后通过生成的数组循环。
我想知道这是否是处理评论的最佳方式?在性能水平上这是一个好主意吗?
另外我该如何审核呢?它似乎不是从列表中删除特定项目的方法。
提前致谢。
答案 0 :(得分:0)
如果您希望能够基于索引删除注释而不是使用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
(这里删除第一条评论)。