Map<String, String> map = ssdbUtil.getSsdb().zscan(Constants.SSDB_PREFIX_PUBACCOUNT_MSG_ZSET+pubId,0,0,System.currentTimeMillis() , 20).mapString();
通过 pubId 查询 ssdb中 前20条数据
列出 zset 中处于区间 (key_start+score_start, score_end] 的 key-score 列表. 如果 key_start 为空, 那么对应权重值大于或者等于 score_start 的 key 将被返回. 如果 key_start 不为空, 那么对应权重值大于 score_start 的 key, 或者大于 key_start 且对应权重值等于 score_start 的 key 将被返回.
也就是说, 返回的 key 在 (key.score == score_start && key > key_start || key.score > score_start), 并且 key.score <= score_end
区间. 先判断 score_start, score_end, 然后判断 key_start.
("", ""] 表示整个区间.
参数
-
name
- zset 的名字. -
key_start
- score_start 对应的 key. -
score_start
- 返回 key 的最小权重值(可能不包含, 依赖 key_start), 空字符串表示 -inf. -
score_end
- 返回 key 的最大权重值(包含), 空字符串表示 +inf. -
limit
- 最多返回这么多个元素.
返回值
如果出错则返回 false
, 否则返回包含 key-score 的关联数组.
Map<String, String> map2 = ssdbUtil.getSsdb().zscan(Constants.SSDB_PREFIX_PUBACCOUNT_MSG_ZSET+pubId,
msgId,sendTime,ltSendTime2, 20).mapString();
通过 pubId查出 从 msgId,sendTime位置开始 到ltSendTime2 位置的 前20条数据
当然,以上数据库都是定义好的,索引pubId
ssdb api帮助文档 地址:
http://ssdb.io/docs/zh_cn/php/content.html#m-zscan