SSDB 是一个高性能的支持丰富数据结构的 NoSQL 数据库,它的遍历方法也比较简单。
SSDB 数据库
数据库 SSDB 底层是 LevelDB,key 在保存时是排序的,这就给遍历操作提供便利。
k-v 遍历
1
scan key_start key_end limit
参数
1
2
3
key_start - 返回的起始 key(不包含), 空字符串表示 -inf.
key_end - 返回的结束 key(包含), 空字符串表示 +inf.
limit - 最多返回这么多个元素.
hashmap 遍历
1
scan name key_start key_end limit
参数
1
2
3
4
name - hashmap 的名字.
key_start - 返回的起始 key(不包含), 空字符串表示 -inf.
key_end - 返回的结束 key(包含), 空字符串表示 +inf.
limit - 最多返回这么多个元素.
zset 遍历
1
zscan name key_start score_start score_end limit
参数
1
2
3
4
5
name - zset 的名字.
key_start - score_start 对应的 key.
score_start - 返回 key 的最小权重值(可能不包含, 依赖 key_start), 空字符串表示 -inf.
score_end - 返回 key 的最大权重值(包含), 空字符串表示 +inf.
limit - 最多返回这么多个元素.
逆向遍历
上面是正向遍历,按key 从小到大遍历,每种类型数据都有对应的逆向遍历(key 从大到小遍历),rscan
、hrscan
、zrscan
。
遍历性能
由于SSDB 是根据游标来开始获取数据,当数据量很大时,数据遍历的性能也不受影响。
本文网址: https://pylist.com/topic/53.html 转摘请注明来源