文章目錄
- 一、Redis的介紹及安裝(配成服務器)
- 二、redis和memcached的對比
- 三、redis下的配置文件
- 四、redis的基礎命令
- 五、redis數據類型
- 1. string字符串
- (1)set方法
- (2)get方法
- (3)Setnx
- (4)setex
- (5)Setrange
- (6)Mset
- (7)mget
- (8)msetnx
- (9)getset
- (10)getrange
- (11)incr
- (12)incrby
- (13)decr
- (14)decrby
- (15)append
- (16)strlen
- (17)del
- 2. Hash類型
- 3. List類型
- (1)lpush
- (2)lrange
- (3)rpush
- (4)linsert
- (5)lset
- (6)lrem
- (7)ltrim
- (8)lpop
- (9)rpop
- (10)rpoplpush
- (11)lindex
- (12)llen
- 4. Sets類型
- (1)sadd
- (2) Smembers
- (3)srem
- (4)spop
- (5)sdiff
- (6)sdiffstore
- (7)sinter
- (8)sinterstore
- (9)sunion
- (10)sunionstore
- (11)smove
- (12)Scard
- (13)sismember
- (14)srandmember
- 5. Sorted set (zset)類型
一、Redis的介紹及安裝(配成服務器)
1. Redis的介紹
REmote DIctionary Server(Redis) 是一個由Salvatore Sanfilippo寫的key-value存儲系統。
Redis是一個開源的使用ANSI C語言編寫、遵守BSD協議、支持網絡、可基於內存亦可持久化的日誌型、Key-Value數據庫,並提供多種語言的API。
Redis 一個內存數據庫,通過 Key-Value 鍵值對的的方式存儲數據。由於 Redis 的數據都存儲在內存中,所以訪問速度非常快,因此 Redis 大量用於緩存系統,存儲熱點數據,可以極大的提高網站的響應速度。
它通常被稱爲數據結構服務器,因爲值(value)可以是 字符串(String), 哈希(Hash), 列表(list), 集合(sets) 和 有序集合(sorted sets)等類型。
2. Redis的優點
- (1)讀寫速度快. 數據存放在內存中,數據結構類似於HashMap,HashMap的優勢就是查找和操作的時間複雜度都是O(1)
- (2)支持豐富的數據類型,string,hash,list,set,sorted
- (3)支持事務,watch
- (4)豐富的特性:可以用於緩存,消息隊列,按key設置過期時間,到期後自動刪除
- (5)支持數據持久化(將內存數據持久化到磁盤),支持AOF和RDB兩種持久化方式,從而進行數據恢復操作,可以有效地防止數據丟失
- (6)支持主從(master-slave)複製來實現數據備份,主機會自動將數據同步到從機
1. 安裝成服務
(1)第一步:解壓,配置環境變量
-
解壓壓縮包
-
配置環境變量
(2)輸入命令,啓動服務
切入到Redis文件夾安裝目錄
輸入
redis-server --service-install redis.windows.conf --loglevel verbose --maxheap 200m
安裝完成
2. redis的客戶端命令和服務端命令
(1)服務器命令:(端口默認6379)
redis-server:服務器命令
啓動一個redis的命令是:redis-server redis.windows.conf
- 配置多個redis服務器
注意:一個redis.windows.conf配置就是一個redis服務器。需要啓動多個服務器時,只需要修改一下這個配置文件redis.windows.conf的名稱,再用redis-server就可以啓動
例如:
① 修改redis.windows6380.conf名稱,
② 改端口號(端口號是固定的在41行)
③ 服務器啓動:(必須在安裝目錄Redis內啓動因爲redis.windows.conf在裏面)
- 服務器啓動完成的驗證
客戶端啓動:(默認6379)因爲配置了環境變量,可以直接在任意位置啓動
- 服務器啓動失敗(分析)
原因:計算機服務已經啓動;再啓動失敗因爲端口已被佔用,可通過關閉計算機服務redis再來用命令啓動
(2)客戶端命令(端口默認6379)
redis-cli:客戶端命令
啓動一個客戶端命令:redis-cli
- 客戶端和服務器文件位置
二、redis和memcached的對比
redis和memcached相比,的獨特之處:
- redis可以用來做存儲(storge), 而memccached是用來做緩存(cache) 這個特點主要因爲其有”持久化”的功能.
- 存儲的數據有”結構”,對於memcached來說,存儲的數據,只有1種類型–”字符串”, 而redis則可以存儲字符串,鏈表,哈希結構,集合,有序集合.
三、redis下的配置文件
Redis目錄下的重要文件的意義:
配置文件 | 意義 |
---|---|
redis-benchmark | 性能測試工具 |
redis-check-aof | 日誌文件檢測工(比如斷電造成日誌損壞,可以檢測並修復) |
redis-check-dump | 快照文件檢測工具,效果類上 |
redis-cli | 客戶端 |
redis-server | 服務端 |
redis.windows.conf | redis配置文件,在啓動redis服務器的時候,必須要制定配置文件,那麼相當於於一個配置文件就是一個redis數據庫服務器。 |
四、redis的基礎命令
redis基礎命令 | 作用 |
---|---|
keys * | 返回鍵(key) |
keys list* | 返回名以list開頭的所有鍵(key) |
exists list1 | 判斷鍵名爲list1的是否存在 存在返回1, 不存在返回0 |
del list1 | 刪除一個鍵(名爲list1) |
expire list1 10 | 設置鍵名爲list1的過期時間爲10秒後 |
ttl list1 | 查看鍵名爲list1的過期時間,若爲-1表示已過期 或 永不過期 |
move age 1 | 將鍵名age的轉移到1數據庫中 |
select 1 | 表示進入到1數據庫中,默認在0數據庫 |
persist age | 移除age的過期時間 |
flushdb | 刪除所有的數據 清除當前所在庫的所有數據 |
flushall | 清空所有數據 |
五、redis數據類型
1. string字符串
string的一些方法:
(1)set方法
- set方法:設置key對應的值爲string類型的value,如果該key已經存在,則覆蓋key對應的value值。所以在redis中key只能有一個。
127.0.0.1:6379> set name lijie
(2)get方法
- get:根據key獲取value值
127.0.0.1:6379> get name
(3)Setnx
- Setnx:設置一個不存的字符串,返回0 表示設置失敗,已存在。返回1 表示設置新值成功,nx是not exit的意思。
127.0.0.1:6379> setnx name zs
(integer) 0
127.0.0.1:6379> setnx age 20
(integer) 1
(4)setex
- setex:設置字符串,同時設置有效期;ex是expire的意思
127.0.0.1:6379> setex color 10 red
OK
立即查詢
127.0.0.1:6379> get color"red"
10秒後查詢
127.0.0.1:6379> get color
(nil)
負數代表過期
(5)Setrange
- Setrange:替換字符串。
- setrange 替換什麼 從哪裏開始(0) 替換成什麼
127.0.0.1:6379> set email jalja@sina.com
OK
127.0.0.1:6379> get email
"[email protected]"
127.0.0.1:6379> setrange email 6 163.com
(integer) 14
127.0.0.1:6379> get email
"[email protected]"
(6)Mset
- Mset:一次設置多個key-value,返回OK表示全部設置成功,返回0表示全部失敗。如果存在則替換。
127.0.0.1:6379> mset name1 zs name2 ls
OK
127.0.0.1:6379> get name1
"zs"
127.0.0.1:6379> get name2
"ls"
(7)mget
- mget:一次獲取多個key對應的value值,不存在返回nil
127.0.0.1:6379> mget name1 name2 name3 name4 name5
1) "zs"
2) "ls"
3) (nil)
4) "RR"
5) (nil)
(8)msetnx
- msetnx:一次設置多個不存在的key-value,返回1表示全部設置成功,返回0表示全部失敗。
127.0.0.1:6379> msetnx name3 kk name4 mm name2 LL
(integer) 0
127.0.0.1:6379> get name3
(nil)
127.0.0.1:6379> get name4
(nil)
(9)getset
- getset:獲取原值,並設置新值
127.0.0.1:6379> getset name4 UU
(nil)
127.0.0.1:6379> get name4
"UU"
127.0.0.1:6379> getset name4 RR
"UU"
(10)getrange
- 獲取key對應value的子字符串
127.0.0.1:6379> get email
"[email protected]"
127.0.0.1:6379> getrange email 0 4
"jalja"
(11)incr
- incr:對key對應的value做加1操作,並返回新值
127.0.0.1:6379> get age
"20"
127.0.0.1:6379> incr age
(integer) 21
(12)incrby
- incrby:與incr類似,加指定值,key不存在的時候會設置key,並認爲該key原來的value=0
127.0.0.1:6379> get age
"21"
127.0.0.1:6379> incrby age 9
(integer) 30
127.0.0.1:6379> incrby age -5
(integer) 25
127.0.0.1:6379> incrby height 10
(integer) 10
可爲正值,可爲負值;相當於給指定的value加正值或負值得到新的value
(13)decr
- decr:對key對應的value做減1操作
127.0.0.1:6379> get height
"10"
127.0.0.1:6379> decr height
(integer) 9
127.0.0.1:6379> decr height
(integer) 8
(14)decrby
- decrby:對key對應的value減去指定的值
127.0.0.1:6379> get height
"8"
127.0.0.1:6379> decrby height 3
(integer) 5
127.0.0.1:6379> decrby height -3
(integer) 8
注意:decrby key 值 ;這個值可爲正或負,就是減去對應數(正就減,負就加)
(15)append
- append:對key對應的vlaue字符串追加,返回新字符串的長度
127.0.0.1:6379> get name1
"zs"
127.0.0.1:6379> append name1 ML
(integer) 4
127.0.0.1:6379> get name1
"zsML"
(16)strlen
- strlen:獲取key對應value的長度
127.0.0.1:6379> get name1
"zsML"
127.0.0.1:6379> strlen name1
(integer) 4
(17)del
- del:刪除,可用來刪除key-value
127.0.0.1:6379> del name
(integer) 1
2. Hash類型
Redis hash 是一個string類型的filed和value的映射表、它的添加、刪除操作都是0、1(平均操作)。Hash特別適合存儲對象。相較於對象的每個字段存成單個string類型。將一個對象存儲在hash類型中會佔用更少的內存,並且可以更方便存取整個對象。
(1)hset
- hset:和set相似,設置hash filed 爲指定值,如果key不存在,則先創建。key存在則替換
127.0.0.1:6379> hset user:001 name zs
(integer) 1
127.0.0.1:6379> hget user:001 name
"zs"
#設置一個user:001 的用戶的name爲zs(可以將user:001看做一個表)
hsah1是一個表,裏面存放了key-value
user是一個文件夾,下面放了001和002的表
001和002裏面存放key-value
(2)hget
- hget:獲取指定field字段的值
127.0.0.1:6379> hget user:001 name
(nil)
(3) hsetnx
- hsetnx:設置hash filed 爲指定值,如果key不存在,則先創建。如果存在則返回0表示設置失敗
127.0.0.1:6379> hsetnx user:001 name ML
(integer) 0
127.0.0.1:6379> hsetnx user:001 age 1
(integer) 1
(4)hmset
- hmset:同時設置hash的多個filed
127.0.0.1:6379> hmset user:002 name MM age 20
OK
127.0.0.1:6379> hget user:002 name
"MM"
127.0.0.1:6379> hget user:002 age
"20"
(5)hmget
- hmget:獲取全部指定的hash filed,必須指定獲取的key的名稱
127.0.0.1:6379> hmget user:002 name age
1) "MM"
2) "20"
(6)hincrby
- hincrby:對hash filed加上指定的值
127.0.0.1:6379> hget user:002 age
"20"
127.0.0.1:6379> hincrby user:002 age 5
(integer) 25
127.0.0.1:6379> hincrby user:002 age -5
(integer) 20
(7)hexists
- hexists:測試指定的filed是否存在,返回1表示存在,返回0表示不存在
127.0.0.1:6379> hexists user:002 name
(integer) 1
127.0.0.1:6379> hexists user:002 age
(integer) 1
127.0.0.1:6379> hexists user:002 height
(integer) 0
(8)hlen
- hlen:返回指定hash的field的數量
127.0.0.1:6379> hlen user:002
(integer) 2
(9)hdel
- hdel 刪除指定hash 的filed字段,返回1表示刪除成功0:表示刪除失敗
127.0.0.1:6379> hget user:002 age
"20"
127.0.0.1:6379> hdel user:002 age
(integer) 1
127.0.0.1:6379> hdel user:002 age
(integer) 0
127.0.0.1:6379> hget user:002 age
(nil)
(10)hkeys
- hkeys:返回hash 的所有filed
127.0.0.1:6379> hkeys user:001
1) "name"
2) "age"
127.0.0.1:6379> hkeys user:002
1) "name"
(11)hvals
- hvals:返回hash的所有value
127.0.0.1:6379> hvals user:001
1) "zs"
2) "1"
127.0.0.1:6379> hvals user:002
1) "MM"
3. List類型
List是一個鏈表結構,主要功能是push、pop,獲取一個範圍的所有值等等,操作中key理解爲鏈表的名字。Redis的list類型其實就是一個每個子元素都是string類型的雙向鏈表。我們可以通過push、pop操作鏈表的頭部或者鏈表尾部添加元素,這樣list既可以作爲棧,又可以作爲隊列。
(1)lpush
- lpush:在key對應list的頭部添加字符串元素,返回list中元素的個數
127.0.0.1:6379> lpush list1 "hello"
(integer) 1
127.0.0.1:6379> lpush list1 "word"
(integer) 2
(2)lrange
- lrange:獲取list中的元素
127.0.0.1:6379> lrange list1 0 -1(0:第一個,-1:最後一個)
1) "word"
2) "hello"
(3)rpush
- rpush:在key對應的list尾部添加元素
127.0.0.1:6379> rpush list2 10
(integer) 1
127.0.0.1:6379> rpush list2 11
(integer) 2
127.0.0.1:6379> lrange list2 0 -1
1) "10"
2) "11"
(4)linsert
- linsert:在key對應list的特定位置前或後添加字符串
127.0.0.1:6379> lrange list2 0 -1
1) "10"
2) "11"
127.0.0.1:6379> linsert list2 before 11 10.5
(integer) 3
127.0.0.1:6379> linsert list2 after 11 11.5
127.0.0.1:6379> lrange list2 0 -1
1) "10"
2) "10.5"
3) "11"
4)"11.5"
注意:只有before和after兩種插入情況
(5)lset
- lset:更改list中指定下標的元素,返回ok表示設置成功
127.0.0.1:6379> lrange list2 0 -1
1) "10"
2) "10.5"
3) "11"
127.0.0.1:6379> lset list2 1 10.00
OK
127.0.0.1:6379> lrange list2 0 -1
1) "10"
2) "10.00"
3) "11"
(6)lrem
- lrem:從key對應list中刪除n個和value相同的元素(n<0 從尾部刪除,n=0 全部刪除,n>0從頭部刪除)
127.0.0.1:6379> lrange list 0 -1
1) "two"
2) "one"
3) "one"
127.0.0.1:6379> lrem list 1 one
(integer) 1
127.0.0.1:6379> lrange list 0 -1
1) "two"
2) "one"
(7)ltrim
- ltrim:保留list中指定範圍的數據,其他的
127.0.0.1:6379> lrange list2 0 -1
1) "10"
2) "10.00"
3) "11"
4) "12"
127.0.0.1:6379> ltrim list2 1 2
OK
127.0.0.1:6379> lrange list2 0 -1
1) "10.00"
2) "11"
(8)lpop
- lpop:從list的頭部刪除元素,並返回該元素
127.0.0.1:6379> lrange list 0 -1
1) "two"
2) "one"
127.0.0.1:6379> lpop list
"two"
127.0.0.1:6379> lrange list 0 -1
1) "one"
(9)rpop
- rpop:從list尾部刪除元素,並返回該元素
(10)rpoplpush
- rpoplpush:從第一個list的尾部刪除元素,並添加到第二個list的頭部
127.0.0.1:6379> lrange list 0 -1
1) "one"
127.0.0.1:6379> lrange list1 0 -1
1) "word"
2) "hello"
127.0.0.1:6379> rpoplpush list1 list
"hello"
127.0.0.1:6379> lrange list 0 -1
1) "hello"
2) "one"
127.0.0.1:6379> lrange list1 0 -1
1) "word"
(11)lindex
- lindex 返回名稱爲key的list中index位置的元素<===>list[index]
127.0.0.1:6379> lrange list 0 -1
1) "hello"
2) "one"
127.0.0.1:6379> lindex list 1
"one"
(12)llen
- llen:返回指定key對應list的長度<====> len(list)
127.0.0.1:6379> lrange list 0 -1
1) "hello"
2) "one"
127.0.0.1:6379> llen list
(integer) 2
4. Sets類型
Set是一個string類型的無序集合,不允許重複。Set是通過hash table實現的。添加、刪除、查找的複雜度都是0(1)。對集合我們可以取並集、交集、差集。
(1)sadd
- sadd:向key對應的set集合中添加元素,返回1表示添加成功,返回0 表示失敗
127.0.0.1:6379> sadd myset1 one
(integer) 1
127.0.0.1:6379> sadd myset1 two
(integer) 1
(2) Smembers
- Smembers:查看set集合中的元素
127.0.0.1:6379> smembers myset1
1) "two"
2) "one"
(3)srem
- srem:刪除key對應set集合中的元素,返回1表示刪除成功 0表示失敗
127.0.0.1:6379> srem myset1 two
(integer) 1
(4)spop
- spop:隨機刪除set中的一個元素並返回該元素
127.0.0.1:6379> smembers myset1
1) "three"
2) "one"
3) "four"
127.0.0.1:6379> spop myset1
"four"
127.0.0.1:6379> smembers myset1
1) "three"
2) "one"
(5)sdiff
- sdiff:返回給定set集合的差集 (以在前的set集合爲標準)
127.0.0.1:6379> smembers myset1
1) "three"
2) "one"
127.0.0.1:6379> smembers myset2
1) "two"
2) "one"
127.0.0.1:6379> sdiff myset1 myset2
1) "three"
127.0.0.1:6379> sdiff myset2 myset1
1) "two"
(6)sdiffstore
- sdiffstore:返回所有給定set集合的差集,並將差集添加到另外一個集合中
127.0.0.1:6379> smembers myset1
1) "three"
2) "one"
127.0.0.1:6379> smembers myset2
1) "two"
2) "one"
127.0.0.1:6379> sdiffstore myset3 myset1 myset2
(integer) 1
127.0.0.1:6379> smembers myset3
1) "three"
(7)sinter
- sinter:返回所有給定集合的交集
127.0.0.1:6379> smembers myset1
1) "three"
2) "one"
127.0.0.1:6379> smembers myset2
1) "two"
2) "one"
127.0.0.1:6379> sinter myset1 myset2
1) "one"
(8)sinterstore
- sinterstore:返回所有給定集合key的交集,並將結果存爲另一個key
127.0.0.1:6379> smembers myset1
1) "three"
2) "one"
127.0.0.1:6379> smembers myset2
1) "two"
2) "one"
127.0.0.1:6379> sinterstore myset4 myset1 myset2
(integer) 1
(9)sunion
- sunion 返回所有給定集合的並集
127.0.0.1:6379> smembers myset1
1) "three"
2) "one"
127.0.0.1:6379> smembers myset2
1) "two"
2) "one"
127.0.0.1:6379> sunion myset1 myset2
1) "three"
2) "two"
3) "one"
(10)sunionstore
- sunionstore 返回所有給定集合的並集,並將結果存入另一個集合
127.0.0.1:6379> smembers myset1
1) "three"
2) "one"
127.0.0.1:6379> smembers myset2
1) "two"
2) "one"
127.0.0.1:6379> sunionstore myset5 myset1 myset2
(integer) 3
(11)smove
- smove:從第一個集合中移除元素並將該元素添加到另一個集合中
127.0.0.1:6379> smembers myset1
1) "three"
2) "one"
127.0.0.1:6379> smembers myset5
1) "three"
2) "two"
3) "one"
127.0.0.1:6379> smove myset5 myset1 two
(integer) 1
127.0.0.1:6379> smembers myset5
1) "three"
2) "one"
127.0.0.1:6379> smembers myset1
1) "three"
2) "two"
3) "one"
(12)Scard
- Scard:返回set集合中元素的個數 llen(list) strlen (str) hlen(hash)
127.0.0.1:6379> smembers myset1
1) "three"
2) "two"
3) "one"
127.0.0.1:6379> scard myset1
(integer) 3
(13)sismember
- sismember:測試member元素是否是名稱爲key的set集合 返回1:表示是 0:不是
127.0.0.1:6379> smembers myset1
1) "three"
2) "two"
3) "one"
127.0.0.1:6379> sismember myset1 tree
(integer) 0
127.0.0.1:6379> sismember myset1 three
(integer) 1
(14)srandmember
- srandmember:隨機返回set集合中的一個元素,但不刪除該元素
127.0.0.1:6379> smembers myset1
1) "three"
2) "two"
3) "one"
127.0.0.1:6379> srandmember myset1
"one"
5. Sorted set (zset)類型
Sorted set是set的一個升級版,他在set的基礎上增加了一個順序屬性,這一屬性在添加元素的時候可以指定,每次指定後,zset會自動重新按新的值挑戰順序。可以理解爲有兩列的mysql表,一列存value,一列存順序。操作key理解爲zset的名字
(1)zadd
- zadd:向有序集合zset中添加元素並指定順序,如果該元素已存在就更新元素順序。
127.0.0.1:6379> zadd myzset1 1 one
(integer) 1
127.0.0.1:6379> zadd myzset1 2 two
(integer) 1
(2)zrange
- zrange:從zset集合中取元素 [withscores] 輸出元素順序號
127.0.0.1:6379> zadd myzset1 1 one
(integer) 1
127.0.0.1:6379> zadd myzset1 2 two
(integer) 1
127.0.0.1:6379> zrange myzset1 0 -1 withscores
1) "one"
2) "1"
3) "two"
4) "2"
(3)zrem
- zrem:刪除zset集合中指定的元素
127.0.0.1:6379> zrange myzset1 0 -1 withscores
1) "one"
2) "1"
3) "two"
4) "2"
127.0.0.1:6379> zrem myzset1 two
(integer) 1
127.0.0.1:6379> zrange myzset1 0 -1 withscores
1) "one"
2) "1"
(4)zincrby
- zincrby:若zset中已經存在元素member、則該元素的score增加incrment否則向該集合中添加該元素,其score的值爲increment
例:改變myset1中one元素的順序值
127.0.0.1:6379> zrange myzset1 0 -1 withscores
1) "one"
2) "1"
127.0.0.1:6379> zincrby myzset1 2 one
"3"
127.0.0.1:6379> zrange myzset1 0 -1 withscores
1) "one"
2) "3"
(5)zrank
- zrank:返回zset中元素member的排名(score從小到大排序)即下標
127.0.0.1:6379> zrange myzset1 0 -1 withscores
1) "one"
2) "3"
3) "four"
4) "4"
5) "five"
6) "5"
127.0.0.1:6379> zrank myzset1 four
(integer) 1
(6)zrevrank
- zrevrank:返回zset集合中member元素的排名(按照score倒敘)即下標
127.0.0.1:6379> zrange myzset1 0 -1 withscores
1) "one"
2) "3"
3) "four"
4) "4"
5) "five"
6) "5"
127.0.0.1:6379> zrevrank myzset1 four
(integer) 1
127.0.0.1:6379> zrevrank myzset1 five
(integer) 0
(7)zrevrange
- zrevrange:從zset集合中倒敘(score倒敘)獲取元素
127.0.0.1:6379> zrange myzset1 0 -1 withscores
1) "one"
2) "3"
3) "four"
4) "4"
5) "five"
6) "5"
127.0.0.1:6379> zrevrange myzset1 0 -1 withscores
1) "five"
2) "5"
3) "four"
4) "4"
5) "one"
6) "3"
(8)zrangebyscore
- zrangebyscore:從zset集合中根據score順序獲取元素
127.0.0.1:6379> zrange myzset1 0 -1 withscores
1) "one"
2) "3"
3) "four"
4) "4"
5) "five"
6) "5"
127.0.0.1:6379> zrangebyscore myzset1 4 5 withscores
1) "four"
2) "4"
3) "five"
4) "5"
(9)zcount
- zcount:返回集合中score在給定區間的數量
127.0.0.1:6379> zrange myzset1 0 -1 withscores
1) "one"
2) "3"
3) "four"
4) "4"
5) "five"
6) "5"
127.0.0.1:6379> zcount myzset1 3 4
(integer) 2
(10)zcard
- zcard:返回zset集合中所有元素個數
127.0.0.1:6379> zrange myzset1 0 -1 withscores
1) "one"
2) "3"
3) "four"
4) "4"
5) "five"
6) "5"
127.0.0.1:6379> zcard myzset1
(integer) 3
(11)zremrangebyrank
- zremrangebyrank:刪除集合中排名(下標)在給定區間的元素
127.0.0.1:6379> zrange myzset1 0 -1 withscores
1) "one"
2) "3"
3) "four"
4) "4"
5) "five"
6) "5"
127.0.0.1:6379> zremrangebyrank myzset1 1 2
(integer) 2
127.0.0.1:6379> zrange myzset1 0 -1 withscores
1) "one"
2) "3"
(12)zremrangebyscore
- zremrangebyscore::刪除集合中順序(score值)在給定區間的元素
127.0.0.1:6379> zrange myzset1 0 -1 withscores
1) "one"
2) "3"
3) "four"
4) "4"
5) "five"
6) "5"
127.0.0.1:6379> zremrangebyscore myzset1 3 4
(integer) 2
127.0.0.1:6379> zrange myzset1 0 -1 withscores
1) "five"
2) "5"