ssdb zset操作(Ⅰ)

来源:互联网 发布:宏晶科技stc单片机 编辑:程序博客网 时间:2024/06/09 16:44

zset

ssdb的zset是ssdb三种数据结构中的一种: sorted set(有序集合),有name,key,score三个属性,按score权重排序,且key值不可重复,key不重复通过map实现,以score排序通过set实现,name是一个集合的名字。

操作

  • 运行ssdb

  • 在ssdb的bin目录下执行./ssdb-cli进入交互模式(mac或linux可通过命令sudo find / --name ssdb-cli查找路径)

  • zset name key score 添加一条集合名为name,键值为key权重为score的zset记录,无则创建,有则更新

ssdb 127.0.0.1:22223> zset test 2 3ok(0.000 sec)
  • zget name key 查询集合名为name键值为key对应的权重值
ssdb 127.0.0.1:22223> zget test 23(0.000 sec)
  • zdel name key 删除集合名为name键值为key的记录
ssdb 127.0.0.1:22223> zdel test 2ok(0.000 sec)ssdb 127.0.0.1:22223> zget test 2not_found(0.000 sec)
  • zincr name key score 集合名为name键值为key的权重加上score,若此name或此key不存在,则等同于zset name key score
ssdb 127.0.0.1:22223> zincr test 1 11(0.000 sec)
  • zexists name key 检测集合名为name键值为key,若存在返回1, 不存在返回0
ssdb 127.0.0.1:22223> zexists test 11(0.000 sec)ssdb 127.0.0.1:22223> zexists test 30(0.000 sec)
  • zlist start end limit 查找limit条范围内起始字符串为start,结束字符串为end的集合名字
ssdb 127.0.0.1:22223> zlist v z 10              key-----------------  verify:judges:1  verify:teacher:-1  verify:teacher:1  verify:teacher:2  vip_free_view_count:1009224  vip_free_view_count:1009344  vip_free_view_count:1009561  vip_free_view_count:1009651  vip_free_view_count:1010063  vip_free_view_count:101092610 result(s) (0.000 sec)(0.000 sec)ssdb 127.0.0.1:22223> zlist vi z 10              key-----------------  vip_free_view_count:1009224  vip_free_view_count:1009344  vip_free_view_count:1009561  vip_free_view_count:1009651  vip_free_view_count:1010063  vip_free_view_count:1010926  vip_free_view_count:12209262  vip_free_view_count:1245653  vip_free_view_count:17259510  vip_free_view_count:1786453710 result(s) (0.000 sec)(0.000 sec)
  • zrlist start end limit 倒序的zlist查找,start,end及查询的结果都是从反方向开始计算的
ssdb 127.0.0.1:22223> zrlist z vi 10              key-----------------  vip_free_view_count:6248026  vip_free_view_count:47406901  vip_free_view_count:46854291  vip_free_view_count:46701138  vip_free_view_count:46424827  vip_free_view_count:46160634  vip_free_view_count:46106375  vip_free_view_count:45909457  vip_free_view_count:45584502  vip_free_view_count:4290323610 result(s) (0.000 sec)(0.000 sec)
  • zkeys name key_start score_start score_end limit 查找集合名为name且权重大于等于score_start小于等于score_endkey_start参数主要用于分页查询,由于一页限制条目固定,,查询数目一般都为limit(除最后一次),score相同的情况下,由于按score查询,一个score可能对应多个值,无法实现固定数目,所以从查询到的最后一个score值截取部分数据,由key_start开始截取
    (key.score == score_start && key > key_start || key.score > score_start) && key.score <= score_end
ssdb 127.0.0.1:22223> zkeys vip_free_view_count:46701138 '' 1 10 10000              key-----------------  58750a514255bf6ebb482336  588324374255bf39fe02acc8  58836b3e4255bf39ffd51be7  5884a3b64255bf3a0586ee5c  58860fea4255bf3a03271404  5886d01a4255bf39ffd5d69a  588852674255bf3a04b9596a  588890b54255bf2456e638cb  5888a4144255bf243b0ee774  5889f1af4255bf241464885c  588ab4a44255bf24467f8531  588bf0b14255bf241c4e3620  588d74a34255bf2456e72205  588db5904255bf24241b9a48  588eaedd4255bf2414655853  588ffb474255bf241465992a  5890a2c34255bf2456e7d342  5892de9a4255bf2456e840e0  58c696b84255bf4d9eb85c5a  58c743894255bf4da39fe5a0  58c7e6144255bf4da07969c421 result(s) (0.001 sec)(0.001 sec)ssdb 127.0.0.1:22223> zkeys vip_free_view_count:46701138 588ab4a44255bf24467f8531 1 10 10000              key-----------------  58750a514255bf6ebb482336  588324374255bf39fe02acc8  58836b3e4255bf39ffd51be7  5884a3b64255bf3a0586ee5c  58860fea4255bf3a03271404  5886d01a4255bf39ffd5d69a  588852674255bf3a04b9596a  588890b54255bf2456e638cb  5888a4144255bf243b0ee774  5889f1af4255bf241464885c10 result(s) (0.001 sec)(0.001 sec)
  • zscan name start_key start_score end_score limit 查找集合名为name且权重大于等于score_start小于等于score_endkey_start参数主要用于分页查询,由于一页限制条目固定,,查询数目一般都为limit(除最后一次),score相同的情况下,由于按score查询,一个score可能对应多个值,无法实现固定数目,所以从查询到的最后一个score值截取部分数据,由key_start开始截取
    (key.score == score_start && key > key_start || key.score > score_start) && key.score <= score_end
ssdb 127.0.0.1:22223> zscan vip_free_view_count:46701138 '' 1 10 10000key             value-------------------------  58750a514255bf6ebb482336: 1  588324374255bf39fe02acc8: 1  58836b3e4255bf39ffd51be7: 1  5884a3b64255bf3a0586ee5c: 1  58860fea4255bf3a03271404: 1  5886d01a4255bf39ffd5d69a: 1  588852674255bf3a04b9596a: 1  588890b54255bf2456e638cb: 1  5888a4144255bf243b0ee774: 1  5889f1af4255bf241464885c: 1  588ab4a44255bf24467f8531: 1  588bf0b14255bf241c4e3620: 1  588d74a34255bf2456e72205: 1  588db5904255bf24241b9a48: 1  588eaedd4255bf2414655853: 1  588ffb474255bf241465992a: 1  5890a2c34255bf2456e7d342: 1  5892de9a4255bf2456e840e0: 1  58c696b84255bf4d9eb85c5a: 1  58c743894255bf4da39fe5a0: 1  58c7e6144255bf4da07969c4: 121 result(s) (0.001 sec)(0.001 sec)ssdb 127.0.0.1:22223> zscan vip_free_view_count:46701138 588ab4a44255bf24467f8531 1 10 10000key             value-------------------------  588bf0b14255bf241c4e3620: 1  588d74a34255bf2456e72205: 1  588db5904255bf24241b9a48: 1  588eaedd4255bf2414655853: 1  588ffb474255bf241465992a: 1  5890a2c34255bf2456e7d342: 1  5892de9a4255bf2456e840e0: 1  58c696b84255bf4d9eb85c5a: 1  58c743894255bf4da39fe5a0: 1  58c7e6144255bf4da07969c4: 110 result(s) (0.001 sec)(0.001 sec)