我想从zset获取带有分数列表的数据,例如
zadd zset 1 a 2 b 3 c 4 d
我想要一个像
这样的命令'zrange zset [2, 4]'
,结果是
b, d
谢谢!
答案 0 :(得分:0)
只有@MyActivityScope
@Subcomponent(modules={ MyActivityModule.class })
public interface MyActivitySubComponent {
void inject(DemoDaggerSubActivity activity);
@Named("my_list") ArrayAdapter myListAdapter();
}
命令。
答案 1 :(得分:0)
您可以使用一段代码来执行此操作,例如:
for score in score_list
members = zrangebyscore(zset, score, score)
member_list += members
ZRANGEBYSCORE的时间成本是O(LOG(N)+ M),M是返回的成员数。所以我们可以说我们的zrangebyscore中的成本是O(LOG(N)),N是zset的大小。 所以总时间成本是O(M * LOG(N)),M是得分列表的长度。这将是最好的时间成本。
唯一不好的是我们在网络传输中花费了M RTT。我们可以使用管道来加速查询。
可以实现请求/响应服务器,以便即使客户端尚未读取旧响应,它也能够处理新请求。这样就可以在不等待回复的情况下向服务器发送多个命令,最后只需一步即可阅读回复。
因此,如果您使用管道技术,它只需要一个RTT时间。我认为redis的每个语言客户端都实现了管道。祝好运 !