黑猴子的家 Redis ZSet 型別

2021-08-30 08:44:13 字數 2519 閱讀 5910

1、zset 概念 (sorted set)

(1)redis有序集合zset與普通集合set非常相似,是乙個沒有重複元素的字串集合。不同之處是有序集合的沒有成員都關聯了乙個評分(score) ,這個評分(score)被用來按照從最低分到最高分的方式排序集合中的成員。集合的成員是唯一的,但是評分可以是重複了 。

(2)因為元素是有序的, 所以你也可以很快的根據評分(score)或者次序(position)來獲取乙個範圍的元素。訪問有序集合的中間元素也是非常快的,因此你能夠使用有序集合作為乙個沒有重複成員的智慧型列表

2、zset 基本命令

(1)將乙個或多個 member 元素及其 score 值加入到有序集 key 當中

zadd ...

127.0.0.1:6379> zadd z1 100 v1 300 v2 200 v3 150 v4

(integer) 4

(2)返回有序集 key 中,下標在之間的元素

帶withscores,可以讓分數一起和值返回到結果集。

zrange [withscores]

從小到大

127.0.0.1:6379> zrange z1 0 -1

1) "v1"

2) "v4"

3) "v3"

4) "v2"

注:0到-1 是展示全部資料

從小到大(分+值)

127.0.0.1:6379> zrange z1 0 -1 withscores

1) "v1"

2) "100"

3) "v4"

4) "150"

5) "v3"

6) "200"

7) "v2"

8) "300"

從大到小(rev)

127.0.0.1:6379> zrevrange z1 0 -1

1) "v2"

2) "v3"

3) "v4"

4) "v1"

127.0.0.1:6379> zrange z1 0 -1

1) "v1"

2) "v4"

3) "v3"

4) "v2"

(3)返回有序集 key 中,所有 score 值介於 min 和 max 之間(包括等於 min 或 max )的成員。

有序集成員按 score 值遞增(從小到大)次序排列。

zrangebyscore key min max [withscores] [limit offset count]

127.0.0.1:6379> zrangebyscore z1 150 300

1) "v4"

2) "v3"

3) "v2"

(4)同上,改為從大到小排列。

zrevrangebyscore key max min [withscores] [limit offset count]

127.0.0.1:6379> zrevrangebyscore z1 300 150

1) "v2"

2) "v3"

3) "v4"

(5)為元素的score加上增量

zincrby

127.0.0.1:6379> zrange z1 0 -1 withscores

1) "v1"

2) "100"

3) "v4"

4) "150"

5) "v3"

6) "200"

7) "v2"

8) "300"

127.0.0.1:6379> zincrby z1 200 v2

"500"

(6)刪除該集合下,指定值的元素

zrem

127.0.0.1:6379> zrange z1 0 -1

1) "v1"

2) "v4"

3) "v3"

4) "v2"

127.0.0.1:6379> zrem z1 v1

(integer) 1

127.0.0.1:6379> zrange zi1 0 -1

1) "v4"

2) "v3"

3) "v2"

(7)統計該集合,分數區間內的元素個數

zcount

127.0.0.1:6379> zcount zi 0 10000

(integer) 3

(8)返回該值在集合中的排名,從0開始。

zrank

正序

127.0.0.1:6379> zrank zi v2

(integer) 2

倒敘

127.0.0.1:6379> zrevrank zi v2

(integer) 0

黑猴子的家 Scala 密封類

如果想讓case類的所有子類都必須在申明的該類的相同的檔案中定義,可以將樣例類的通用超類宣告為sealed,叫做密封類,密封就是外部使用者不能在其他檔案中定義子類。不能被繼承只能自己用 sealed abstract class trafficlightcolor case object red e...

黑猴子的家 Hadoop Checkpoint機制

fsimage和edit log合併的過程如下圖所示 其實這個合併過程是乙個很耗i o與cpu的操作,並且在進行合併的過程中肯定也會有其他應用繼續訪問和修改hdfs檔案。所以,這個過程一般不是在單一的namenode節點上進行從。如果hdfs沒有做ha的話,checkpoint由secondname...

黑猴子的家 FileInputFormat切片機制

1 job提交流程原始碼詳解 waitforcompletion submit 1 建立連線 connect 1 建立提交job的 new cluster getconfiguration 2 判斷是本地yarn還是遠端 initialize jobtrackaddr,conf 2 提交job su...