ssdb zset操作(Ⅰ)

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 3
ok
(0.000 sec)
  • zget name key 查詢集合名爲name鍵值爲key對應的權重值
ssdb 127.0.0.1:22223> zget test 2
3
(0.000 sec)
  • zdel name key 刪除集合名爲name鍵值爲key的記錄
ssdb 127.0.0.1:22223> zdel test 2
ok
(0.000 sec)

ssdb 127.0.0.1:22223> zget test 2
not_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 1
1
(0.000 sec)
  • zexists name key 檢測集合名爲name鍵值爲key,若存在返回1, 不存在返回0
ssdb 127.0.0.1:22223> zexists test 1
1
(0.000 sec)
ssdb 127.0.0.1:22223> zexists test 3
0
(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:1010926
10 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:17864537
10 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:42903236
10 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
  58c7e6144255bf4da07969c4
21 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
  5889f1af4255bf241464885c
10 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 10000
key             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: 1
21 result(s) (0.001 sec)
(0.001 sec)

ssdb 127.0.0.1:22223> zscan vip_free_view_count:46701138 588ab4a44255bf24467f8531 1 10 10000
key             value
-------------------------
  588bf0b14255bf241c4e3620: 1
  588d74a34255bf2456e72205: 1
  588db5904255bf24241b9a48: 1
  588eaedd4255bf2414655853: 1
  588ffb474255bf241465992a: 1
  5890a2c34255bf2456e7d342: 1
  5892de9a4255bf2456e840e0: 1
  58c696b84255bf4d9eb85c5a: 1
  58c743894255bf4da39fe5a0: 1
  58c7e6144255bf4da07969c4: 1
10 result(s) (0.001 sec)
(0.001 sec)
發佈了60 篇原創文章 · 獲贊 52 · 訪問量 35萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章