啟動(dòng)本地客戶端
redis-cli
//顯示
127.0.0.1:6379>
如果設(shè)置了密碼
127.0.0.1:6379> auth 密碼
檢測(cè) redis 服務(wù)是否啟動(dòng)
127.0.0.1:6379> ping
//顯示
PONG
連接遠(yuǎn)程redis服務(wù)
格式:redis-cli -h host -p port -a password
redis-cli -h 192.168.10.10 -p 6379 -a
注:遠(yuǎn)程服務(wù)器必須開(kāi)放外網(wǎng)訪問(wèn)的6379端口
key
格式:COMMAND KEY_NAME
key命令與描述:
| 命令 | 描述 |
|---|---|
| del key | 刪除指定的key |
| exists key | 檢查給定 key 是否存在 |
| type key | 返回 key 所儲(chǔ)存的值的類型。 |
| rename key newkey | 修改 key 的名稱 |
| renamenx key newkey | 僅當(dāng) newkey 不存在時(shí),將 key 改名為 newkey 。 |
| dump key | 序列化給定 key ,并返回被序列化的值。 |
| expire key seconds | 為給定 key 設(shè)置過(guò)期時(shí)間,以秒計(jì)。 |
| expireat key timestamp | EXPIREAT 的作用和 EXPIRE 類似,都用于為 key 設(shè)置過(guò)期時(shí)間。 不同在于 EXPIREAT 命令接受的時(shí)間參數(shù)是 UNIX 時(shí)間戳(unix timestamp)。 |
| pexpire key milliseconds | 設(shè)置 key 的過(guò)期時(shí)間以毫秒計(jì) |
| pexpire key milliseconds-timestamp | 設(shè)置 key 過(guò)期時(shí)間的時(shí)間戳(unix timestamp) 以毫秒計(jì) |
| keys pattern | 查找所有符合給定模式( pattern)的 key 。 |
| move key db | 將當(dāng)前數(shù)據(jù)庫(kù)的 key 移動(dòng)到給定的數(shù)據(jù)庫(kù) db 當(dāng)中。 |
| persist key | 移除 key 的過(guò)期時(shí)間,key 將持久保持。 |
| pttl key | 以毫秒為單位返回 key 的剩余的過(guò)期時(shí)間。 |
| ttl key | 以秒為單位,返回給定 key 的剩余生存時(shí)間(TTL, time to live)。 |
| randomkey | 從當(dāng)前數(shù)據(jù)庫(kù)中隨機(jī)返回一個(gè) key 。 |
查看所有的key
keys *
//顯示
1) "queues:orderWarning:delayed"
2) "hello"
3) "downtime"
4) "orderWarning"
查看key的類型
127.0.0.1:6379> type hello
string
127.0.0.1:6379>
127.0.0.1:6379> type orderWarning
hash
127.0.0.1:6379>
127.0.0.1:6379> type queues:orderWarning:delayed
zset
127.0.0.1:6379> type world
none
查看key是否存在,存在返回1,不存在返回0
127.0.0.1:6379> exists hello
(integer) 1
127.0.0.1:6379>
127.0.0.1:6379> exists world
(integer) 0
127.0.0.1:6379>
序列化指定key
127.0.0.1:6379> get hello
"world"
127.0.0.1:6379>
127.0.0.1:6379> dump hello
"\x00\x05world\b\x00\xa0\xfc\xd0;y\xb0\xf8\xfa"
設(shè)置key
127.0.0.1:6379> ttl hello
(integer) -1
127.0.0.1:6379>
127.0.0.1:6379> expire hello 60
(integer) 1
127.0.0.1:6379>
127.0.0.1:6379> ttl hello
(integer) 55
127.0.0.1:6379>
127.0.0.1:6379> exists hello
(integer) 1
127.0.0.1:6379> exists hello
(integer) 0
127.0.0.1:6379>
127.0.0.1:6379> ttl hello
(integer) -2
127.0.0.1:6379>
ttl key查看過(guò)期時(shí)間,key存在且永久時(shí)返回-1,key存在且設(shè)置了過(guò)期時(shí)間,則返回剩余的過(guò)期時(shí)間55,key不存在時(shí)過(guò)期時(shí)間返回-2。
字符串(string)
命令與描述:
| 命令 | 描述 |
|---|---|
| set key value | 設(shè)置指定 key 的值 |
| get key | 獲取指定 key 的值 |
| getrange key start end | 返回 key 中字符串值的子字符 |
| getset key value | 將給定 key 的值設(shè)為 value ,并返回 key 的舊值(old value)。 |
| setbit key offset value | 對(duì) key 所儲(chǔ)存的字符串值,設(shè)置或清除指定偏移量上的位(bit) |
| getbit key offset | 對(duì) key 所儲(chǔ)存的字符串值,獲取指定偏移量上的位(bit) |
| mget key [key2...] | 獲取所有(一個(gè)或多個(gè))給定 key 的值 |
| setex key seconds value | 將值 value 關(guān)聯(lián)到 key ,并將 key 的過(guò)期時(shí)間設(shè)為 seconds (以秒為單位) |
| setnx key value | 只有在 key 不存在時(shí)設(shè)置 key 的值 |
| setrange key offset value | 用 value 參數(shù)覆寫給定 key 所儲(chǔ)存的字符串值,從偏移量 offset 開(kāi)始 |
| strlen key | 返回 key 所儲(chǔ)存的字符串值的長(zhǎng)度。 |
| mset key value [key2 value2...] | 同時(shí)設(shè)置一個(gè)或多個(gè) key-value 對(duì)。 |
| msetnx key value [key2 value2...] | 同時(shí)設(shè)置一個(gè)或多個(gè) key-value 對(duì),當(dāng)且僅當(dāng)所有給定 key 都不存在。 |
| psetex key milliseconds value | 這個(gè)命令和 SETEX 命令相似,但它以毫秒為單位設(shè)置 key 的生存時(shí)間,而不是像 SETEX 命令那樣,以秒為單位 |
| incr key | 將 key 中儲(chǔ)存的數(shù)字值增一 |
| incrby key increment | 將 key 所儲(chǔ)存的值加上給定的增量值(increment ) |
| incrbyfloat key increment | 將 key 所儲(chǔ)存的值加上給定的浮點(diǎn)增量值(increment) |
| decr key | 將 key 中儲(chǔ)存的數(shù)字值減一。 |
| decrby key decrement | key 所儲(chǔ)存的值減去給定的減量值(decrement) |
| append key value | 如果 key 已經(jīng)存在并且是一個(gè)字符串, APPEND 命令將指定的 value 追加到該 key 原來(lái)值(value)的末尾 |
設(shè)置指定key的值
如果key不存在,則創(chuàng)建一個(gè)新的key,并設(shè)定value值; 如果key已經(jīng)存在,則覆蓋之前key的value,
127.0.0.1:6379> set key value
OK
127.0.0.1:6379> get key
"value"
127.0.0.1:6379>
127.0.0.1:6379> set key "hello world"
OK
127.0.0.1:6379> get key
"hello world"
127.0.0.1:6379>
獲取key的值
返回 key 的值,如果 key 不存在時(shí),返回 nil。 如果 key 不是字符串類型,那么返回一個(gè)錯(cuò)誤
127.0.0.1:6379> keys *
1) "queues:orderWarning:delayed"
2) "hello"
3) "key"
4) "downtime"
5) "orderWarning"
127.0.0.1:6379> type key
string
127.0.0.1:6379> type orderWarning
hash
127.0.0.1:6379> get key
"hello world"
127.0.0.1:6379> get world
(nil)
127.0.0.1:6379> git orderWarning
(error) ERR unknown command 'git'
127.0.0.1:6379> type queues:orderWarning:delayed
zset
127.0.0.1:6379> get queues:orderWarning:delayed
(error) WRONGTYPE Operation against a key holding the wrong kind of value
127.0.0.1:6379>
獲取多個(gè)key的值
127.0.0.1:6379> mget hello key
1) "world"
2) "hello world"
127.0.0.1:6379>
截取key中的value字符串
127.0.0.1:6379> get key
"hello world"
127.0.0.1:6379>
127.0.0.1:6379> get key
"hello world"
127.0.0.1:6379> getrange key 0 2
"hel"
127.0.0.1:6379> getrange key 0 -1
"hello world"
127.0.0.1:6379>
設(shè)置指定的key,并返回舊的value值
127.0.0.1:6379> getset php mysql # 沒(méi)有舊值,返回(nil)
(nil)
127.0.0.1:6379> get php
"mysql"
127.0.0.1:6379> getset php redis
"mysql"
127.0.0.1:6379> get php
"redis"
127.0.0.1:6379>
增加key的值
127.0.0.1:6379> incr hello # key的值必須是數(shù)字
(error) ERR value is not an integer or out of range
127.0.0.1:6379> set int 20
OK
127.0.0.1:6379> get int
"20"
127.0.0.1:6379> incr int # 自增1
(integer) 21
127.0.0.1:6379> get int
"21"
127.0.0.1:6379> incrby int 9 # 增加9
(integer) 30
127.0.0.1:6379> get int
"30"
127.0.0.1:6379>
減少key的值
127.0.0.1:6379> decr hello
(error) ERR value is not an integer or out of range
127.0.0.1:6379>
127.0.0.1:6379> get int
"30"
127.0.0.1:6379> decr int
(integer) 29
127.0.0.1:6379> get int
"29"
127.0.0.1:6379> decrby int 9
(integer) 20
127.0.0.1:6379> get int
"20"
追加value值到指定key的后面
127.0.0.1:6379> get hello
"hello"
127.0.0.1:6379> append hello " world"
(integer) 11
127.0.0.1:6379> get hello
"hello world"
127.0.0.1:6379>
哈希(hash)
命令與描述:
| 命令 | 描述 |
|---|---|
| hdel key field1 [field2...] | 刪除一個(gè)或多個(gè)哈希表字段 |
| hexists key field | 查看哈希表 key 中,指定的字段是否存在 |
| hget key field | 獲取存儲(chǔ)在哈希表中指定字段的值 |
| hgetall key | 獲取在哈希表中指定 key 的所有字段和值 |
| hset key field value | 將哈希表 key 中的字段 field 的值設(shè)為 value |
| hsetnx key field value | 只有在字段 field 不存在時(shí),設(shè)置哈希表字段的值 |
| hincrby key field increment | 為哈希表 key 中的指定字段的整數(shù)值加上增量 increment |
| hincrbyfloat key field increment | 為哈希表 key 中的指定字段的浮點(diǎn)數(shù)值加上增量 increment |
| hkeys key | 獲取所有哈希表中的字段 |
| hlen key | 獲取哈希表中字段的數(shù)量 |
| hmget key field [field2...] | 獲取所有給定字段的值 |
| hmset key field value [field2 value2...] | 同時(shí)將多個(gè) field-value (域-值)對(duì)設(shè)置到哈希表 key 中 |
| havls key | 獲取哈希表中所有值 |
| hscan key cursor [match pattern] [count count ] | 迭代哈希表中的鍵值對(duì) |
設(shè)置hash
如果hash表不存在,則返回1, 如果hash表已存在,則覆蓋舊的的field值,并返回0
127.0.0.1:6379> hset hash sql mysql
(integer) 1
127.0.0.1:6379> hget hash sql
"mysql"
127.0.0.1:6379> hset hash sql redis
(integer) 0
127.0.0.1:6379> hget hash sql
"redis"
127.0.0.1:6379>
獲取hash的值
127.0.0.1:6379> type queues:orderWarning:delayed
zset
127.0.0.1:6379> hget queues:orderWarning:delayed order
(error) WRONGTYPE Operation against a key holding the wrong kind of value
127.0.0.1:6379>
127.0.0.1:6379> type hash
hash
127.0.0.1:6379> hkeys hash
1) "sql"
127.0.0.1:6379> hget hash sql # 獲取指定的key 的field的值
"redis"
127.0.0.1:6379> hget hash mysql
(nil)
127.0.0.1:6379> hgetall orderWarning # 獲取所有的 key 與 field 的值
1) "127.0.0.1_1545801485"
2) "{\"mem_id\":18,\"goods_id\":1078,\"out_trade_no\":1545801485,\"order_type\":2,\"nick\":\"Chase\",\"phone\":15011996662,\"goods_name\":\"\\u963f\\u4e22\\u3002\\u3002\\u3002\"}"
3) "127.0.0.1_1545801458"
4) "{\"mem_id\":18,\"goods_id\":1078,\"out_trade_no\":1545801458,\"order_type\":2,\"nick\":\"Chase\",\"phone\":15011996662,\"goods_name\":\"\\u963f\\u4e22\\u3002\\u3002\\u3002\"}"
5) "_1545816179"
6) "{\"mem_id\":18,\"goods_id\":1078,\"out_trade_no\":1545816179,\"order_type\":2,\"nick\":\"Chase\",\"phone\":15011996662,\"goods_name\":\"\\u963f\\u4e22\\u3002\\u3002\\u3002\"}"
7) "_1545817734"
8) "{\"mem_id\":18,\"goods_id\":1078,\"out_trade_no\":1545817734,\"order_type\":2,\"nick\":\"Chase\",\"phone\":15011996662,\"goods_name\":\"\\u963f\\u4e22\\u3002\\u3002\\u3002\"}"
9) "_1545816123"
10) "{\"mem_id\":18,\"goods_id\":1078,\"out_trade_no\":1545816123,\"order_type\":2,\"nick\":\"Chase\",\"phone\":15011996662,\"goods_name\":\"\\u963f\\u4e22\\u3002\\u3002\\u3002\"}"
11) "_1545816085"
12) "{\"mem_id\":18,\"goods_id\":1078,\"out_trade_no\":1545816085,\"order_type\":2,\"nick\":\"Chase\",\"phone\":15011996662,\"goods_name\":\"\\u963f\\u4e22\\u3002\\u3002\\u3002\"}"
127.0.0.1:6379>
127.0.0.1:6379> hvals orderWarning # 獲取所有的field的值
1) "{\"mem_id\":18,\"goods_id\":1078,\"out_trade_no\":1545801485,\"order_type\":2,\"nick\":\"Chase\",\"phone\":15011996662,\"goods_name\":\"\\u963f\\u4e22\\u3002\\u3002\\u3002\"}"
2) "{\"mem_id\":18,\"goods_id\":1078,\"out_trade_no\":1545801458,\"order_type\":2,\"nick\":\"Chase\",\"phone\":15011996662,\"goods_name\":\"\\u963f\\u4e22\\u3002\\u3002\\u3002\"}"
3) "{\"mem_id\":18,\"goods_id\":1078,\"out_trade_no\":1545816179,\"order_type\":2,\"nick\":\"Chase\",\"phone\":15011996662,\"goods_name\":\"\\u963f\\u4e22\\u3002\\u3002\\u3002\"}"
4) "{\"mem_id\":18,\"goods_id\":1078,\"out_trade_no\":1545817734,\"order_type\":2,\"nick\":\"Chase\",\"phone\":15011996662,\"goods_name\":\"\\u963f\\u4e22\\u3002\\u3002\\u3002\"}"
5) "{\"mem_id\":18,\"goods_id\":1078,\"out_trade_no\":1545816123,\"order_type\":2,\"nick\":\"Chase\",\"phone\":15011996662,\"goods_name\":\"\\u963f\\u4e22\\u3002\\u3002\\u3002\"}"
6) "{\"mem_id\":18,\"goods_id\":1078,\"out_trade_no\":1545816085,\"order_type\":2,\"nick\":\"Chase\",\"phone\":15011
查看hash是否存在
127.0.0.1:6379> hexists hash sql
(integer) 0
127.0.0.1:6379> hset hash sql mysql
(integer) 1
127.0.0.1:6379> hexists hash sql
(integer) 1
127.0.0.1:6379>
刪除hash
hash表中key有多個(gè)field,刪除field時(shí)只刪除對(duì)應(yīng)的field,如果key中只有一個(gè)field,刪除field的同時(shí)把hash表刪除,刪除成功返回1, 失敗返回0
127.0.0.1:6379> hkeys hash
1) "sql"
127.0.0.1:6379> keys *
1) "queues:orderWarning:delayed"
2) "hash"
3) "downtime"
4) "orderWarning"
127.0.0.1:6379> hdel hash php
(integer) 0
127.0.0.1:6379> hkeys hash
1) "sql"
127.0.0.1:6379> hset hash php php
(integer) 1
127.0.0.1:6379> hkeys hash
1) "sql"
2) "php"
127.0.0.1:6379> hdel hash sql
(integer) 1
127.0.0.1:6379> hkeys hash
1) "php"
127.0.0.1:6379> keys *
1) "queues:orderWarning:delayed"
2) "hash"
3) "downtime"
4) "orderWarning"
127.0.0.1:6379> hdel hash php
(integer) 1
127.0.0.1:6379> keys *
1) "queues:orderWarning:delayed"
2) "downtime"
3) "orderWarning"
127.0.0.1:6379>
獲取hash表中key的個(gè)數(shù)
127.0.0.1:6379> hkeys hash
1) "sql"
2) "php"
127.0.0.1:6379> hkeys orderWarning
1) "127.0.0.1_1545801485"
2) "127.0.0.1_1545801458"
3) "_1545816179"
4) "_1545817734"
5) "_1545816123"
6) "_1545816085"
127.0.0.1:6379> hlen hash
(integer) 2
127.0.0.1:6379> hlen orderWarning
(integer) 6
127.0.0.1:6379>
列表(list)
命令與描述:
| 命令 | 描述 |
|---|---|
| blpop key1 [key2...] timeout | 移出并獲取列表的第一個(gè)元素, 如果列表沒(méi)有元素會(huì)阻塞列表直到等待超時(shí)或發(fā)現(xiàn)可彈出元素為止 |
| brpop key1 [key2...] timeout | 移出并獲取列表的最后一個(gè)元素, 如果列表沒(méi)有元素會(huì)阻塞列表直到等待超時(shí)或發(fā)現(xiàn)可彈出元素為止 |
| brpoplpush source destination timeout | 從列表中彈出一個(gè)值,將彈出的元素插入到另外一個(gè)列表中并返回它; 如果列表沒(méi)有元素會(huì)阻塞列表直到等待超時(shí)或發(fā)現(xiàn)可彈出元素為止 |
| lset key index value | 通過(guò)索引設(shè)置列表元素的值 |
| lindex key index | 通過(guò)索引獲取列表中的元素 |
| linsert key before|after pivot value | 在列表的元素前或者后插入元素 |
| llen key | 獲取列表長(zhǎng)度 |
| lpop key | 移出并獲取列表的第一個(gè)元素 |
| lpush key value1 [value2...] | 將一個(gè)或多個(gè)值插入到列表頭部 |
| lpushx key value | 將一個(gè)值插入到已存在的列表頭部 |
| lrange key start stop | 獲取列表指定范圍內(nèi)的元素 |
| lrem key count value | 移除列表元素 |
| ltrim key start stop | 對(duì)一個(gè)列表進(jìn)行修剪(trim),就是說(shuō),讓列表只保留指定區(qū)間內(nèi)的元素,不在指定區(qū)間之內(nèi)的元素都將被刪除 |
| rpop key | 移除列表的最后一個(gè)元素,返回值為移除的元素。 |
| rpoplpush source destination | 移除列表的最后一個(gè)元素,并將該元素添加到另一個(gè)列表并返回 |
| rpush key value1 [value2...] | 在列表中添加一個(gè)或多個(gè)值 |
| rpushx key value | 為已存在的列表添加值 |
設(shè)置list的值
lset key index value 通過(guò)索引來(lái)設(shè)置元素的值。當(dāng)索引參數(shù)超出范圍,或?qū)σ粋€(gè)空列表進(jìn)行 LSET 時(shí),返回一個(gè)錯(cuò)誤。
127.0.0.1:6379> rpush sql 'mysql'
(integer) 1
127.0.0.1:6379> rpush sql 'redis'
(integer) 2
127.0.0.1:6379> rpush sql 'mogodb'
(integer) 3
127.0.0.1:6379> rpush sql 'hello world'
(integer) 4
127.0.0.1:6379> lrange sql 0 -1
1) "mysql"
2) "redis"
3) "mogodb"
4) "hello world"
127.0.0.1:6379> lset sql 3 'sql lite'
OK
127.0.0.1:6379> lrange sql 0 -1
1) "mysql"
2) "redis"
3) "mogodb"
4) "sql lite"
127.0.0.1:6379>
在列表中添加值
命令用于將一個(gè)或多個(gè)值插入到列表的尾部(最右邊)。如果列表不存在,一個(gè)空列表會(huì)被創(chuàng)建并執(zhí)行 RPUSH 操作。 當(dāng)列表存在但不是列表類型時(shí),返回一個(gè)錯(cuò)誤
127.0.0.1:6379> rpush sql 'mysql'
(integer) 1
127.0.0.1:6379> rpush sql 'redis'
(integer) 2
127.0.0.1:6379> rpush sql 'mogodb'
(integer) 3
127.0.0.1:6379> rpush sql 'hello world'
(integer) 4
127.0.0.1:6379> lrange sql 0 -1
1) "mysql"
2) "redis"
3) "mogodb"
4) "hello world"
獲取區(qū)間的元素
返回列表中指定區(qū)間內(nèi)的元素,區(qū)間以偏移量 START 和 END 指定。 其中 0 表示列表的第一個(gè)元素, 1 表示列表的第二個(gè)元素,以此類推。 你也可以使用負(fù)數(shù)下標(biāo),以 -1 表示列表的最后一個(gè)元素, -2 表示列表的倒數(shù)第二個(gè)元素,以此類推。
127.0.0.1:6379> lrange sql 0 -1
1) "mysql"
2) "redis"
3) "mogodb"
4) "sql lite"
127.0.0.1:6379> lrange sql 1 2
1) "redis"
2) "mogodb"
127.0.0.1:6379> lrange sql 0 -2
1) "mysql"
2) "redis"
3) "mogodb"
127.0.0.1:6379>
獲取列表的長(zhǎng)度
127.0.0.1:6379> lrange sql 0 -1
1) "mysql"
2) "redis"
3) "mogodb"
4) "sql lite"
127.0.0.1:6379> llen sql
(integer) 4
127.0.0.1:6379>
集合(set)
命令與描述:
| 命令 | 描述 |
|---|---|
| SADD key member1 [member2] | 向集合添加一個(gè)或多個(gè)成員 |
| SCARD key | 獲取集合的成員數(shù) |
| SDIFF key1 [key2] | 返回給定所有集合的差集 |
| SDIFFSTORE destination key1 [key2] | 返回給定所有集合的差集并存儲(chǔ)在 destination 中 |
| SINTER key1 [key2] | 返回給定所有集合的交集 |
| SINTERSTORE destination key1 [key2] | 返回給定所有集合的交集并存儲(chǔ)在 destination 中 |
| SISMEMBER key member | 判斷 member 元素是否是集合 key 的成員 |
| SMEMBERS key | 返回集合中的所有成員 |
| SMOVE source destination member | 將 member 元素從 source 集合移動(dòng)到 destination 集合 |
| SPOP key | 移除并返回集合中的一個(gè)隨機(jī)元素 |
| SRANDMEMBER key [count] | 返回集合中一個(gè)或多個(gè)隨機(jī)數(shù) |
| SREM key member1 [member2] | 移除集合中一個(gè)或多個(gè)成員 |
| SUNION key1 [key2] | 返回所有給定集合的并集 |
| SUNIONSTORE destination key1 [key2] | 所有給定集合的并集存儲(chǔ)在 destination 集合中 |
| SSCAN key cursor [MATCH pattern] [COUNT count] | 迭代集合中的元素 |
向集合中添加成員
127.0.0.1:6379> sadd myset 'hello'
(integer) 1
127.0.0.1:6379> sadd myset 'world'
(integer) 1
127.0.0.1:6379> sadd myset 'foo'
(integer) 1
127.0.0.1:6379> smembers myset
1) "hello"
2) "world"
3) "foo"
獲取集合的成員數(shù)
127.0.0.1:6379> scard myset
(integer) 3
127.0.0.1:6379>
獲取集合的差集
返回差集的結(jié)果集是第一個(gè)集合的差集
127.0.0.1:6379> smembers myset
1) "hello"
2) "world"
3) "foo"
127.0.0.1:6379> smembers myget
1) "php"
2) "redis"
3) "hello"
127.0.0.1:6379> sdiff myset myget
1) "world"
2) "foo"
127.0.0.1:6379>
獲取集合的交集
127.0.0.1:6379> smembers myset
1) "hello"
2) "world"
3) "foo"
127.0.0.1:6379> smembers myget
1) "php"
2) "redis"
3) "hello"
127.0.0.1:6379> sinter myset myget
1) "hello"
127.0.0.1:6379>
判斷 member 元素是否是集合 key 的成員
127.0.0.1:6379> smembers myset
1) "world"
2) "foo"
3) "hello"
127.0.0.1:6379> sismember myset hello
(integer) 1
127.0.0.1:6379> sismember myset footer
(integer) 0
127.0.0.1:6379
有序集合(sorted set)
命令與描述:
| 命令 | 描述 |
|---|---|
| ZADD key score1 member1 [score2 member2] | 向有序集合添加一個(gè)或多個(gè)成員,或者更新已存在成員的分?jǐn)?shù) |
| ZCARD key | 獲取有序集合的成員數(shù) |
| ZCOUNT key min max | 計(jì)算在有序集合中指定區(qū)間分?jǐn)?shù)的成員數(shù) |
| ZINCRBY key increment member | 有序集合中對(duì)指定成員的分?jǐn)?shù)加上增量 increment |
| ZINTERSTORE destination numkeys key [key ...] | 計(jì)算給定的一個(gè)或多個(gè)有序集的交集并將結(jié)果集存儲(chǔ)在新的有序集合 key 中 |
| ZLEXCOUNT key min max | 在有序集合中計(jì)算指定字典區(qū)間內(nèi)成員數(shù)量 |
| ZRANGE key start stop [WITHSCORES] | 通過(guò)索引區(qū)間返回有序集合成指定區(qū)間內(nèi)的成員 |
| ZRANGEBYLEX key min max [LIMIT offset count] | 通過(guò)字典區(qū)間返回有序集合的成員 |
| ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT] | 通過(guò)分?jǐn)?shù)返回有序集合指定區(qū)間內(nèi)的成員 |
| ZRANK key member | 返回有序集合中指定成員的索引 |
| ZREM key member [member ...] | 移除有序集合中的一個(gè)或多個(gè)成員 |
| ZREMRANGEBYLEX key min max | 移除有序集合中給定的字典區(qū)間的所有成員 |
| ZREMRANGEBYRANK key start stop | 移除有序集合中給定的排名區(qū)間的所有成員 |
| ZREMRANGEBYSCORE key min max | 移除有序集合中給定的分?jǐn)?shù)區(qū)間的所有成員 |
| ZREVRANGE key start stop [WITHSCORES] | 返回有序集中指定區(qū)間內(nèi)的成員,通過(guò)索引,分?jǐn)?shù)從高到底 |
| ZREVRANGEBYSCORE key max min [WITHSCORES] | 返回有序集中指定分?jǐn)?shù)區(qū)間內(nèi)的成員,分?jǐn)?shù)從高到低排序 |
| ZREVRANK key member | 返回有序集合中指定成員的排名,有序集成員按分?jǐn)?shù)值遞減(從大到小)排序 |
| ZSCORE key member | 返回有序集中,成員的分?jǐn)?shù)值 |
| ZUNIONSTORE destination numkeys key [key ...] | 計(jì)算給定的一個(gè)或多個(gè)有序集的并集,并存儲(chǔ)在新的 key 中 |
| ZSCAN key cursor [MATCH pattern] [COUNT count] | 迭代有序集合中的元素(包括元素成員和元素分值) |
向集合中添加成員
127.0.0.1:6379> zadd myzset 1 'one'
(integer) 1
127.0.0.1:6379> zadd myzset 1 '1'
(integer) 1
127.0.0.1:6379> zadd myzset 2 'two'
(integer) 1
127.0.0.1:6379> zadd myzset 3 'three'
(integer) 1
127.0.0.1:6379> zrange myzset 0 -1
1) "1"
2) "one"
3) "two"
4) "three"
127.0.0.1:6379> zrange myzset 0 -1 WITHSCORES
1) "1"
2) "1"
3) "one"
4) "1"
5) "two"
6) "2"
7) "three"
8) "3"
獲取有序集合的成員數(shù)
127.0.0.1:6379> zrange myzset 0 -1
1) "1"
2) "one"
3) "two"
4) "three"
127.0.0.1:6379> ZCARD myzset
(integer) 4
127.0.0.1:6379>
計(jì)算有序集合中指定分?jǐn)?shù)區(qū)間的成員數(shù)量
127.0.0.1:6379> zrange myzset 0 -1 withscores
1) "1"
2) "1"
3) "one"
4) "1"
5) "two"
6) "2"
7) "three"
8) "3"
127.0.0.1:6379> zcount myzset 2 3
(integer) 2
127.0.0.1:6379> zcount myzset 1 1
(integer) 2
127.0.0.1:6379>