我遇到了这个问题,我只是不知道该怎么做,所以说我保留了这些用户操作:
- 喜欢
- 评论
- 分享
- 上传
依此类推,列表围绕20
动作,现在我想出的最佳策略是创建一个单一的 CF,让我们调用它user_actions
,然后使用复合行(我认为这就是它们的调用方式)。
所以行将由 组成user_id:action
,现在我想有些人会问为什么不将所有用户操作存储在一行中?好吧,这是我最大的问题,因为我希望用户可以选择用户想看到什么时候说他想检查他的朋友或他自己过去做了什么。
所以说用户想看看他的朋友喜欢什么,我需要做的就是得到所有这些喜欢的那一行,简单吧?
但是,如果用户想要查看everything
(这是默认选项)怎么办,在这种情况下,我需要进行~20
查询,我想这对一点流量来说是可以的,但是如果我每秒有 10 万次读取,那意味着 10 万次怎么办? * 20,听起来很可怕......
但我只是看不到任何其他方式,因为如果我将所有内容存储在一行中,当 cassandra 不支持时,我将如何查询单个操作WHERE
?
顺便说一句,我正在使用php
和phpcassa
图书馆。