国产成人精品999视频&日本一区二区亚洲人妻精品&久久久精品国产99久久精&99热这里只有成人精品国产&精品国产剧情av一区二区&成人亚洲精品久久久久app&国产精品美女高潮抽搐A片

Redis 備忘清單

本備忘單旨在快速理解 redis 所涉及的主要概念,提供了最常用的SQL語句,供您參考。

入門

介紹

Redis 是一個 key-value 存儲系統(tǒng)類似 Memcached

  • 它支持存儲的 value 類型相對更多,包括string(字符串)、list(鏈表)、set(集合)、zset(sorted set 有序集合)和hash(哈希類型)
  • 數(shù)據(jù)類型都支持 push/pop、add/remove 及取交集并集和差集及更豐富的操作

啟動 Redis

$ redis-server &

使用 CLI 登陸 redis

$ redis-cli

使用 Telnet 的登陸 redis

$ telnet 127.0.0.1 6379

小試

Ping 測試

redis> PING
PONG

經(jīng)典 Hello World

redis> SET mykey "Hello world"
OK
redis> GET mykey
"Hello world"

數(shù)據(jù)類型

Redis服務(wù)相關(guān)的命令設(shè)置

COMMAND

COMMAND

例子

redis> COMMAND
1) 1) "georadius_ro"
     2) (integer) -6
     3) 1) "readonly"
        2) "movablekeys"
     4) (integer) 1
     5) (integer) 1
     6) (integer) 1
     7) 1) "@read"
        2) "@geo"
        3) "@slow"
  2) 1) "zpopmin"
     2) (integer) -2
     3) 1) "write"
        2) "fast"
  ........

獲取 Redis 命令詳細信息的數(shù)組

一些引用(可能有幫助)

:---
ACL LOAD從配置的 ACL 文件重新加載 ACL
ACL SAVE將當(dāng)前的 ACL 規(guī)則保存在配置的 ACL 文件中
ACL LIST以 ACL 配置文件格式列出當(dāng)前的 ACL 規(guī)則
ACL USERS列出所有配置的ACL規(guī)則的用戶名
ACL GETUSER獲取特定 ACL 用戶的規(guī)則
ACL SETUSER修改或創(chuàng)建特定 ACL 用戶的規(guī)則
ACL DELUSER刪除指定的 ACL 用戶和關(guān)聯(lián)的規(guī)則
ACL CAT列出 ACL 類別或類別內(nèi)的命令
ACL GENPASS生成用于 ACL 用戶的偽隨機安全密碼
ACL WHOAMI返回關(guān)聯(lián)到當(dāng)前連接的用戶的名稱
ACL LOG列出由于 ACL 到位而被拒絕的最新事件
ACL HELP顯示有關(guān)ACL訪問控制的幫助信息
BGREWRITEAOF異步重寫 append-only 文件
BGSAVE將數(shù)據(jù)集異步保存到磁盤
CONFIG GET獲取配置參數(shù)的值
CONFIG REWRITE用內(nèi)存中的配置重寫配置文件
CONFIG SET將配置參數(shù)設(shè)置為給定值
CONFIG RESETSTAT重置 INFO 返回的統(tǒng)計數(shù)據(jù)
DBSIZE返回所選數(shù)據(jù)庫中的鍵數(shù)
DEBUG OBJECT獲取某個key的調(diào)試信息
DEBUG SEGFAULT使服務(wù)器崩潰
FLUSHALL從所有數(shù)據(jù)庫中刪除所有密鑰
FLUSHDB從當(dāng)前數(shù)據(jù)庫中刪除所有鍵
LOLWUT顯示一些計算機信息和 Redis 版本
LASTSAVE獲取上次成功保存到磁盤的 UNIX 時間戳
MEMORY DOCTOR輸出內(nèi)存問題報告
MEMORY HELP顯示有關(guān)內(nèi)存的使用幫助
MEMORY MALLOC-STATS顯示分配器內(nèi)部統(tǒng)計
MEMORY PURGE要求分配器釋放內(nèi)存
MEMORY STATS顯示內(nèi)存使用詳情(該死,運維的我經(jīng)常用到)
MEMORY USAGE估計一個鍵的內(nèi)存使用
MODULE LIST列出服務(wù)器加載的所有模塊
MODULE LOAD加載模塊
MODULE UNLOAD卸載模塊
MONITOR實時監(jiān)聽服務(wù)器收到的所有請求
SAVE將數(shù)據(jù)集同步保存到磁盤
SHUTDOWN將數(shù)據(jù)集同步保存到磁盤,然后關(guān)閉服務(wù)器
SLAVEOF使服務(wù)器成為另一個實例的副本,或?qū)⑵涮嵘秊橹鞣?wù)器
(從Redis 5開始棄用,改成 REPLICAOF了)
REPLICAOF使服務(wù)器成為另一個實例的副本,或?qū)⑵涮嵘秊橹鞣?wù)器
SLOWLOG管理 Redis 慢查詢?nèi)罩?/td>
SWAPDB交換兩個Redis數(shù)據(jù)庫
SYNC用于復(fù)制的內(nèi)部命令(主)
PSYNC用于復(fù)制的內(nèi)部命令(備)
LATENCY DOCTOR返回人類可讀的延遲分析報告
LATENCY GRAPH返回事件的延遲圖
LATENCY HISTORY返回事件的時間戳延遲樣本
LATENCY LATEST返回所有事件的最新延遲樣本
LATENCY RESET重置一個或多個事件的延遲數(shù)據(jù)
LATENCY HELP顯示有關(guān)不同子命令的有用文本

COMMAND COUNT

COMMAND COUNT

例子

redis> COMMAND COUNT
(integer) 217

獲取 Redis 命令總數(shù)

COMMAND GETKEYS

COMMAND GETKEYS

例子

redis> COMMAND GETKEYS MSET a b c d e f
1) "a"
2) "c"
3) "e"
redis> COMMAND GETKEYS EVAL "not consulted" 3 key1 key2 key3 arg1 arg2 arg3 argN
1) "key1"
2) "key2"
3) "key3"
redis> COMMAND GETKEYS SORT mylist ALPHA STORE outlist
1) "mylist"
2) "outlist"

給定完整的 Redis 命令提取密鑰

COMMAND INFO

COMMAND INFO command-name [command-name ...]

例子

redis> COMMAND INFO get set eval
1) 1) "get"
   2) (integer) 2
   3) 1) "readonly"
      2) "fast"
   4) (integer) 1
   5) (integer) 1
   6) (integer) 1
   7) 1) "@read"
      2) "@string"
      3) "@fast"
2) 1) "set"
   2) (integer) -3
   3) 1) "write"
      2) "denyoom"
   4) (integer) 1
   5) (integer) 1
   6) (integer) 1
   7) 1) "@write"
      2) "@string"
      3) "@slow"
3) 1) "eval"
   2) (integer) -3
   3) 1) "noscript"
      2) "movablekeys"
   4) (integer) 0
   5) (integer) 0
   6) (integer) 0
   7) 1) "@slow"
      2) "@scripting"

獲取特定 Redis 命令詳細信息的數(shù)組

INFO

INFO [section]

例子

redis> INFO
# Server
redis_version:6.1.240
redis_git_sha1:00000000
redis_git_dirty:0
redis_build_id:a26db646ea64a07c
redis_mode:standalone
os:Linux 5.4.0-1017-aws x86_64
......

獲取有關(guān)服務(wù)器的信息和統(tǒng)計信息

ROLE

ROLE

例子

redis> ROLE
1) "master"
2) (integer) 0
3) (empty list or set)

返回實例在復(fù)制上下文中的角色

TIME

TIME

例子

redis> TIME
1) "1609040690"
2) "558952"
redis> TIME
1) "1609040690"
2) "559206"

返回當(dāng)前服務(wù)器時間

Redis一些通用的命令

一些引用(可能有幫助)

:---
COPY復(fù)制鍵值對
MIGRATE以原子方式將鍵值對從 Redis 實例傳輸?shù)搅硪粋€實例
MOVE將鍵值對移動到另一個數(shù)據(jù)庫
OBJECT檢查 Redis 對象的內(nèi)部結(jié)構(gòu)
RESTORE使用提供的序列化值創(chuàng)建鍵值對,之前使用 DUMP 獲得
SORT對列表、集合或有序集合中的元素進行排序
WAIT等待在當(dāng)前連接的上下文中發(fā)送的所有寫命令的同步復(fù)制
SCAN增量迭代鍵空間

DEL

DEL key [key ...]

例子

redis> SET key1 "Hello"
"OK"
redis> SET key2 "World"
"OK"
redis> DEL key1 key2 key3
(integer) 2

刪除鍵值對

DUMP

DUMP key

例子

redis> SET mykey 10
"OK"
redis> DUMP mykey
"\u0000\xC0\n\t\u0000\xBEm\u0006\x89Z(\u0000\n"

返回存儲在指定鍵中的值的序列化版本

EXISTS

EXISTS key [key ...]

例子

redis> SET key1 "Hello"
"OK"
redis> EXISTS key1
(integer) 1
redis> EXISTS nosuchkey
(integer) 0
redis> SET key2 "World"
"OK"
redis> EXISTS key1 key2 nosuchkey
(integer) 2

判斷鍵值對是否存在

EXPIRE

EXPIRE key seconds

例子

redis> SET mykey "Hello"
"OK"
redis> EXPIRE mykey 10
(integer) 1
redis> TTL mykey
(integer) 10
redis> SET mykey "Hello World"
"OK"
redis> TTL mykey
(integer) -1

設(shè)置鍵值對的生存時間(以秒為單位)

EXPIREAT

EXPIREAT key timestamp

例子

redis> SET mykey "Hello"
"OK"
redis> EXISTS mykey
(integer) 1
redis> EXPIREAT mykey 1293840000
(integer) 1
redis> EXISTS mykey
(integer) 0

將鍵值對的到期時間設(shè)置為 UNIX 時間戳

KEYS

KEYS pattern

例子

redis> MSET firstname Jack lastname Stuntman age 35
"OK"
redis> KEYS *name*
1) "firstname"
2) "lastname"
redis> KEYS a??
1) "age"
redis> KEYS *
1) "firstname"
2) "age"
3) "lastname"

查找與給定模式匹配的所有鍵

PERSIST

PERSIST key

例子

redis> SET mykey "Hello"
"OK"
redis> EXPIRE mykey 10
(integer) 1
redis> TTL mykey
(integer) 10
redis> PERSIST mykey
(integer) 1
redis> TTL mykey
(integer) -1

從鍵值對中刪除過期時間

PEXPIRE

PEXPIRE key milliseconds

例子

redis> SET mykey "Hello"
"OK"
redis> PEXPIRE mykey 1500
(integer) 1
redis> TTL mykey
(integer) 1
redis> PTTL mykey
(integer) 1499

設(shè)置鍵的生存時間(以毫秒為單位)

PEXPIREAT

PEXPIREAT key milliseconds-timestamp

例子

redis> SET mykey "Hello"
"OK"
redis> PEXPIREAT mykey 1555555555005
(integer) 1
redis> TTL mykey
(integer) -2
redis> PTTL mykey
(integer) -2

將鍵值對的到期時間設(shè)置為以毫秒為單位指定的 UNIX 時間戳

PTTL

PTTL key

例子

redis> SET mykey "Hello"
"OK"
redis> EXPIRE mykey 1
(integer) 1
redis> PTTL mykey
(integer) 1000

以毫秒為單位獲取鍵值對的生存時間

RENAME

RENAME key newkey

例子

redis> SET mykey "Hello"
"OK"
redis> RENAME mykey myotherkey
"OK"
redis> GET myotherkey
"Hello"

重命名鍵值對

RENAMENX

RENAMENX key newkey

例子

redis> SET mykey "Hello"
"OK"
redis> SET myotherkey "World"
"OK"
redis> RENAMENX mykey myotherkey
(integer) 0
redis> GET myotherkey
"World"

重命名鍵值對,僅當(dāng)新鍵值對不存在時

TOUCH

TOUCH key [key ...]

例子

redis> SET key1 "Hello"
"OK"
redis> SET key2 "World"
"OK"
redis> TOUCH key1 key2
(integer) 2

更改鍵值對的最后訪問時間。返回指定的現(xiàn)有鍵的數(shù)量

TTL

TTL key

例子

redis> SET mykey "Hello"
"OK"
redis> EXPIRE mykey 10
(integer) 1
redis> TTL mykey
(integer) 10

獲得一個鍵的值的時間(有點繞口,但意思是對的)

TYPE

TYPE key

例子

redis> SET key1 "value"
"OK"
redis> LPUSH key2 "value"
(integer) 1
redis> SADD key3 "value"
(integer) 1
redis> TYPE key1
"string"
redis> TYPE key2
"list"
redis> TYPE key3
"set"

確定存儲在鍵中的類型

UNLINK key [key ...]

例子

redis> SET key1 "Hello"
"OK"
redis> SET key2 "World"
"OK"
redis> UNLINK key1 key2 key3
(integer) 2

在另一個線程中異步刪除一個鍵。否則它就像 DEL,但不是阻塞的

Redis 連接相關(guān)的命令

一些引用(可能有幫助)

:---
AUTH向服務(wù)器進行身份驗證
CLIENT CACHING指示服務(wù)器在下一個請求中是否跟蹤鍵
CLIENT KILL終止客戶端的連接
CLIENT LIST獲取客戶端連接列表
CLIENT GETNAME獲取當(dāng)前連接名稱
CLIENT GETREDIR獲取跟蹤通知重定向客戶端 ID(如果有)
CLIENT PAUSE停止處理來自客戶端的命令一段時間
CLIENT REPLY指示服務(wù)器是否回復(fù)命令
CLIENT SETNAME設(shè)置當(dāng)前連接名稱
CLIENT TRACKING啟用或禁用服務(wù)器輔助客戶端緩存支持
CLIENT UNBLOCK取消阻止來自不同連接的阻塞命令中阻塞的客戶端
HELLO切換Redis協(xié)議
QUIT關(guān)閉連接
RESET重置連接
SELECT更改為當(dāng)前連接選擇的數(shù)據(jù)庫

CLIENT ID

CLIENT ID

例子

redis> CLIENT ID
ERR Unknown or disabled command 'CLIENT'

返回當(dāng)前連接的客戶端 ID

CLIENT INFO

CLIENT INFO

例子

redis> CLIENT INFO
"id=55542 addr=127.0.0.1:58710 laddr=127.0.0.1:6379 fd=8 name= age=114920 idle=0 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=26 qbuf-free=40928 argv-mem=10 obl=0 oll=0 omem=0 tot-mem=61466 events=r cmd=client user=default redir=-1\n"

返回有關(guān)當(dāng)前客戶端連接的信息。

ECHO

ECHO message

例子

redis> ECHO "Hello World!"
"Hello World!"

回顯給定的字符串

PING

PING [message]

例子

redis> PING
"PONG"
redis> PING "hello world"
"hello world"

ping 服務(wù)器

Redis 字符串類型設(shè)置

APPEND

APPEND key value

例子

redis> EXISTS mykey
(integer) 0
redis> APPEND mykey "Hello"
(integer) 5
redis> APPEND mykey " World"
(integer) 11
redis> GET mykey
"Hello World"

將值附加到鍵,可以理解為追加作用

BITCOUNT

BITCOUNT key [start end]

例子

redis> SET mykey "foobar"
"OK"
redis> BITCOUNT mykey
(integer) 26
redis> BITCOUNT mykey 0 0
(integer) 4
redis> BITCOUNT mykey 1 1
(integer) 6

計算字符串中的集合位

BITFIELD

BITFIELD key [GET type offset] [SET type offset value] 
[INCRBY type offset increment] [OVERFLOW WRAP|SAT|FAIL]

例子

redis> BITFIELD mykey INCRBY i5 100 1 GET u4 0
1) (integer) 1
2) (integer) 0

對字符串執(zhí)行任意位域整數(shù)運算

BITOP

BITOP operation destkey key [key ...]

例子

redis> SET key1 "foobar"
"OK"
redis> SET key2 "abcdef"
"OK"
redis> BITOP AND dest key1 key2
(integer) 6
redis> GET dest
"`bc`ab"

在字符串之間執(zhí)行按位運算

BITPOS

BITPOS key bit [start] [end]

例子

redis> SET mykey "\xff\xf0\x00"
"OK"
redis> BITPOS mykey 0
(integer) 12
redis> SET mykey "\x00\xff\xf0"
"OK"
redis> BITPOS mykey 1 0
(integer) 8
redis> BITPOS mykey 1 2
(integer) 16
redis> set mykey "\x00\x00\x00"
"OK"
redis> BITPOS mykey 1
(integer) -1

查找字符串中設(shè)置或清除的第一位

DECR

DECR key

例子

redis> SET mykey "10"
"OK"
redis> DECR mykey
(integer) 9
redis> SET mykey "234293482390480948029348230948"
"OK"
redis> DECR mykey
ERR ERR value is not an integer or out of range

將鍵的整數(shù)值減一

DECRBY

DECRBY key decrement

例子

redis> SET mykey "10"
"OK"
redis> DECRBY mykey 3
(integer) 7

將鍵的整數(shù)值減去給定的數(shù)字

GET

GET key

例子

redis> GET nonexisting
(nil)
redis> SET mykey "Hello"
"OK"
redis> GET mykey
"Hello"

獲取key的值

GETBIT

GETBIT key offset

例子

redis> SETBIT mykey 7 1
(integer) 0
redis> GETBIT mykey 0
(integer) 0
redis> GETBIT mykey 7
(integer) 1
redis> GETBIT mykey 100
(integer) 0

返回存儲在 key 處的字符串值中 offset 處的位值

GETRANGE

GETRANGE key start end

例子

redis> SET mykey "This is a string"
"OK"
redis> GETRANGE mykey 0 3
"This"
redis> GETRANGE mykey -3 -1
"ing"
redis> GETRANGE mykey 0 -1
"This is a string"
redis> GETRANGE mykey 10 100
"string"

獲取存儲在鍵中的字符串的子字符串

GETSET

GETSET key value

例子

redis> INCR mycounter
(integer) 1
redis> GETSET mycounter "0"
"1"
redis> GET mycounter
"0"

設(shè)置鍵的字符串值并返回其舊值

INCR

INCR key

例子

redis> SET mykey "10"
"OK"
redis> INCR mykey
(integer) 11
redis> GET mykey
"11"

將鍵的整數(shù)值加一

MSETNX

MSETNX key value [key value ...]

例子

redis> MSETNX key1 "Hello" key2 "there"
(integer) 1
redis> MSETNX key2 "new" key3 "world"
(integer) 0
redis> MGET key1 key2 key3
1) "Hello"
2) "there"
3) (nil)

僅當(dāng)不存在任何鍵時,將多個鍵設(shè)置為多個值

INCRBYFLOAT

INCRBYFLOAT key increment

例子

redis> SET mykey 10.50
"OK"
redis> INCRBYFLOAT mykey 0.1
"10.6"
redis> INCRBYFLOAT mykey -5
"5.6"
redis> SET mykey 5.0e3
"OK"
redis> INCRBYFLOAT mykey 2.0e2
"5200"

將鍵的浮點值增加給定的數(shù)量

MGET

MGET key [key ...]

例子

redis> SET key1 "Hello"
"OK"
redis> SET key2 "World"
"OK"
redis> MGET key1 key2 nonexisting
1) "Hello"
2) "World"
3) (nil)

獲取所有給定鍵的值

MSET

MSET key value [key value ...]

例子

redis> MSET key1 "Hello" key2 "World"
"OK"
redis> GET key1
"Hello"
redis> GET key2
"World"

將多個鍵設(shè)置為多個值

INCRBY

INCRBY key increment

例子

redis> SET mykey "10"
"OK"
redis> INCRBY mykey 5
(integer) 15

將鍵的整數(shù)值增加給定的數(shù)量

PSETEX

PSETEX key milliseconds value

例子

redis> PSETEX mykey 1000 "Hello"
"OK"
redis> PTTL mykey
(integer) 1000
redis> GET mykey
"Hello"

設(shè)置鍵的值和過期時間(以毫秒為單位)

SET

SET key value [EX seconds|PX milliseconds|KEEPTTL] [NX|XX] 
[GET]

例子

redis> SET mykey "Hello"
"OK"
redis> GET mykey
"Hello"
redis> SET anotherkey "will expire in a minute" EX 60
"OK"

設(shè)置鍵的字符串值,可以理解為創(chuàng)建、設(shè)置、重設(shè)的作用

SETBIT

SETBIT key offset value

例子

redis> SETBIT mykey 7 1
(integer) 0
redis> SETBIT mykey 7 0
(integer) 1
redis> GET mykey
"\u0000"

設(shè)置或清除存儲在鍵中的字符串值中偏移量處的位

SETEX

SETEX key seconds value

例子

redis> SETEX mykey 10 "Hello"
"OK"
redis> TTL mykey
(integer) 10
redis> GET mykey
"Hello"

設(shè)置密鑰的值和過期時間

SETNX

SETNX key value

例子

redis> SETNX mykey "Hello"
(integer) 1
redis> SETNX mykey "World"
(integer) 0
redis> GET mykey
"Hello"

設(shè)置鍵的值,僅當(dāng)鍵不存在時

SETRANGE

SETRANGE key offset value

例子

redis> SET key1 "Hello World"
"OK"
redis> SETRANGE key1 6 "Redis"
(integer) 11
redis> GET key1
"Hello Redis"

覆蓋從指定偏移量開始的鍵處的字符串的一部分

STRLEN

STRLEN key

例子

redis> SET mykey "Hello world"
"OK"
redis> STRLEN mykey
(integer) 11
redis> STRLEN nonexisting
(integer) 0

獲取存儲在鍵中的值的長度

STRALGO

STRALGO LCS algo-specific-argument [algo-specific-argument 
...]

例子

redis> STRALGO LCS KEYS key1 key2 IDX
1) "matches"
2) 1) 1) 1) (integer) 4
         2) (integer) 7
      2) 1) (integer) 5
         2) (integer) 8
   2) 1) 1) (integer) 2
         2) (integer) 3
      2) 1) (integer) 0
         2) (integer) 1
3) "len"
4) (integer) 6

針對字符串運行算法(目前為 LCS)

Redis 集合類型設(shè)置

SADD

SADD key member [member ...]

例子

redis> SADD myset "Hello"
(integer) 1
redis> SADD myset "World"
(integer) 1
redis> SADD myset "World"
(integer) 0
redis> SMEMBERS myset
1) "Hello"
2) "World"

將一個或多個成員添加到集合

SCARD

SCARD key

例子

redis> SADD myset "Hello"
(integer) 1
redis> SADD myset "World"
(integer) 1
redis> SCARD myset
(integer) 2

獲取集合中的成員數(shù)

SDIFF

SDIFF key [key ...]

例子

redis> SADD key1 "a"
(integer) 1
redis> SADD key1 "b"
(integer) 1
redis> SADD key1 "c"
(integer) 1
redis> SADD key2 "c"
(integer) 1
redis> SADD key2 "d"
(integer) 1
redis> SADD key2 "e"
(integer) 1
redis> SDIFF key1 key2
1) "a"
2) "b"

減去多組

SDIFFSTORE

SDIFFSTORE destination key [key ...]

例子

redis> SADD key1 "a"
(integer) 1
redis> SADD key1 "b"
(integer) 1
redis> SADD key1 "c"
(integer) 1
redis> SADD key2 "c"
(integer) 1
redis> SADD key2 "d"
(integer) 1
redis> SADD key2 "e"
(integer) 1
redis> SDIFFSTORE key key1 key2
(integer) 2
redis> SMEMBERS key
1) "a"
2) "b"

減去多個集合并將結(jié)果集合存儲在一個鍵中

SINTER

SINTER key [key ...]

例子

redis> SADD key1 "a"
(integer) 1
redis> SADD key1 "b"
(integer) 1
redis> SADD key1 "c"
(integer) 1
redis> SADD key2 "c"
(integer) 1
redis> SADD key2 "d"
(integer) 1
redis> SADD key2 "e"
(integer) 1
redis> SINTER key1 key2
1) "c"

交叉多個集合

SINTERSTORE

SINTERSTORE destination key [key ...]

例子

redis> SADD key1 "a"
(integer) 1
redis> SADD key1 "b"
(integer) 1
redis> SADD key1 "c"
(integer) 1
redis> SADD key2 "c"
(integer) 1
redis> SADD key2 "d"
(integer) 1
redis> SADD key2 "e"
(integer) 1
redis> SINTERSTORE key key1 key2
(integer) 1
redis> SMEMBERS key
1) "c"

將多個集合相交并將結(jié)果集合存儲在一個鍵中

SISMEMBER

SISMEMBER key member

例子

redis> SADD myset "one"
(integer) 1
redis> SISMEMBER myset "one"
(integer) 1
redis> SISMEMBER myset "two"
(integer) 0

確定給定值是否是集合的成員

SMISMEMBER

SMISMEMBER key member [member ...]

例子

redis> SADD myset "one"
(integer) 1
redis> SADD myset "one"
(integer) 0
redis> SMISMEMBER myset "one" "notamember"
1) (integer) 1
2) (integer) 0

返回與集合的給定元素關(guān)聯(lián)的成員資格

SMEMBERS

SMEMBERS key

例子

redis> SADD myset "Hello"
(integer) 1
redis> SADD myset "World"
(integer) 1
redis> SMEMBERS myset
1) "Hello"
2) "World"

獲取集合中的所有成員

SMOVE

SMOVE source destination member

例子

redis> SADD myset "one"
(integer) 1
redis> SADD myset "two"
(integer) 1
redis> SADD myotherset "three"
(integer) 1
redis> SMOVE myset myotherset "two"
(integer) 1
redis> SMEMBERS myset
1) "one"
redis> SMEMBERS myotherset
1) "two"
2) "three"

將成員從一組移到另一組

SPOP

SPOP key [count]

例子

redis> SADD myset "one"
(integer) 1
redis> SADD myset "two"
(integer) 1
redis> SADD myset "three"
(integer) 1
redis> SPOP myset
"two"
redis> SMEMBERS myset
1) "one"
2) "three"
redis> SADD myset "four"
(integer) 1
redis> SADD myset "five"
(integer) 1
redis> SPOP myset 3
1) "four"
2) "five"
3) "three"
redis> SMEMBERS myset
1) "one"

從集合中刪除并返回一個或多個隨機成員

SRANDMEMBER

SRANDMEMBER key [count]

例子

redis> SADD myset one two three
(integer) 3
redis> SRANDMEMBER myset
"three"
redis> SRANDMEMBER myset 2
1) "two"
2) "three"
redis> SRANDMEMBER myset -5
1) "one"
2) "two"
3) "three"
4) "three"
5) "one"

從一組中獲取一個或多個隨機成員

SREM

SREM key member [member ...]

例子

redis> SADD myset "one"
(integer) 1
redis> SADD myset "two"
(integer) 1
redis> SADD myset "three"
(integer) 1
redis> SREM myset "one"
(integer) 1
redis> SREM myset "four"
(integer) 0
redis> SMEMBERS myset
1) "two"
2) "three"

從集合中刪除一個或多個成員

SUNION

SUNION key [key ...]

例子

redis> SADD key1 "a"
(integer) 1
redis> SADD key1 "b"
(integer) 1
redis> SADD key1 "c"
(integer) 1
redis> SADD key2 "c"
(integer) 1
redis> SADD key2 "d"
(integer) 1
redis> SADD key2 "e"
(integer) 1
redis> SUNION key1 key2
1) "a"
2) "c"
3) "e"
4) "b"
5) "d"

添加多組

SUNIONSTORE

SUNIONSTORE destination key [key ...]

例子

redis> SADD key1 "a"
(integer) 1
redis> SADD key1 "b"
(integer) 1
redis> SADD key1 "c"
(integer) 1
redis> SADD key2 "c"
(integer) 1
redis> SADD key2 "d"
(integer) 1
redis> SADD key2 "e"
(integer) 1
redis> SUNIONSTORE key key1 key2
(integer) 5
redis> SMEMBERS key
1) "a"
2) "c"
3) "e"
4) "b"
5) "d"

添加多個集合并將結(jié)果集合存儲在一個鍵中

Redis 列表類型設(shè)置

一些引用(可能有幫助)

:---
BRPOPLPUSH從列表中彈出一個元素,將其推入另一個列表并返回;或阻塞直到有一個可用
BLMOVE從列表中彈出一個元素,將其推入另一個列表并返回;或阻塞直到有一個可用

BLPOP

BLPOP key [key ...] timeout

例子

redis> DEL list1 list2
(integer) 0
redis> RPUSH list1 a b c
(integer) 3
redis> BLPOP list1 list2 0
1) "list1"
2) "a"

刪除并獲取列表中的第一個元素,或者阻塞直到有一個元素可用

BRPOP

BRPOP key [key ...] timeout

例子

redis> DEL list1 list2
(integer) 0
redis> RPUSH list1 a b c
(integer) 3
redis> BRPOP list1 list2 0
1) "list1"
2) "c"

刪除并獲取列表中的最后一個元素,或者阻塞直到有一個可用

LINDEX

LINDEX key index

例子

redis> LPUSH mylist "World"
(integer) 1
redis> LPUSH mylist "Hello"
(integer) 2
redis> LINDEX mylist 0
"Hello"
redis> LINDEX mylist -1
"World"
redis> LINDEX mylist 3
(nil)

通過索引從列表中獲取元素

LINSERT

LINSERT key BEFORE|AFTER pivot element

例子

redis> RPUSH mylist "Hello"
(integer) 1
redis> RPUSH mylist "World"
(integer) 2
redis> LINSERT mylist BEFORE "World" "There"
(integer) 3
redis> LRANGE mylist 0 -1
1) "Hello"
2) "There"
3) "World"

在列表中的另一個元素之前或之后插入一個元素

LLEN

LLEN key

例子

redis> LPUSH mylist "World"
(integer) 1
redis> LPUSH mylist "Hello"
(integer) 2
redis> LLEN mylist
(integer) 2

獲取列表的長度

LPOP

LPOP key [count]

例子

redis> RPUSH mylist "one"
(integer) 1
redis> RPUSH mylist "two"
(integer) 2
redis> RPUSH mylist "three"
(integer) 3
redis> LPOP mylist
"one"
redis> LRANGE mylist 0 -1
1) "two"
2) "three"

刪除并獲取列表中的第一個元素

LPOS

LPOS key element [RANK rank] [COUNT num-matches] [MAXLEN len]

例子

redis> RPUSH mylist a b c d 1 2 3 4 3 3 3
(integer) 11
redis> LPOS mylist 3
(integer) 6
redis> LPOS mylist 3 COUNT 0 RANK 2
1) (integer) 8
2) (integer) 9
3) (integer) 10

返回列表中匹配元素的索引

LPUSH

LPUSH key element [element ...]

例子

redis> LPUSH mylist "world"
(integer) 1
redis> LPUSH mylist "hello"
(integer) 2
redis> LRANGE mylist 0 -1
1) "hello"
2) "world"

將一個或多個元素添加到列表中

LPUSHX

LPUSHX key element [element ...]

例子

redis> LPUSH mylist "World"
(integer) 1
redis> LPUSHX mylist "Hello"
(integer) 2
redis> LPUSHX myotherlist "Hello"
(integer) 0
redis> LRANGE mylist 0 -1
1) "Hello"
2) "World"
redis> LRANGE myotherlist 0 -1
(empty list or set)

僅當(dāng)列表存在時才將元素添加到列表中

LRANGE

LRANGE key start stop

例子

redis> RPUSH mylist "one"
(integer) 1
redis> RPUSH mylist "two"
(integer) 2
redis> RPUSH mylist "three"
(integer) 3
redis> LRANGE mylist 0 0
1) "one"
redis> LRANGE mylist -3 2
1) "one"
2) "two"
3) "three"
redis> LRANGE mylist -100 100
1) "one"
2) "two"
3) "three"
redis> LRANGE mylist 5 10
(empty list or set)

從列表中獲取一系列元素

LREM

LREM key count element

例子

redis> RPUSH mylist "hello"
(integer) 1
redis> RPUSH mylist "hello"
(integer) 2
redis> RPUSH mylist "foo"
(integer) 3
redis> RPUSH mylist "hello"
(integer) 4
redis> LREM mylist -2 "hello"
(integer) 2
redis> LRANGE mylist 0 -1
1) "hello"
2) "foo"

從列表中刪除元素

LSET

LSET key index element

例子

redis> RPUSH mylist "one"
(integer) 1
redis> RPUSH mylist "two"
(integer) 2
redis> RPUSH mylist "three"
(integer) 3
redis> LSET mylist 0 "four"
"OK"
redis> LSET mylist -2 "five"
"OK"
redis> LRANGE mylist 0 -1
1) "four"
2) "five"
3) "three"

通過索引設(shè)置列表中元素的值

LTRIM

LTRIM key start stop

例子

redis> RPUSH mylist "one"
(integer) 1
redis> RPUSH mylist "two"
(integer) 2
redis> RPUSH mylist "three"
(integer) 3
redis> LTRIM mylist 1 -1
"OK"
redis> LRANGE mylist 0 -1
1) "two"
2) "three"

將列表修剪到指定范圍

RPOP

RPOP key [count]

例子

redis> RPUSH mylist "one"
(integer) 1
redis> RPUSH mylist "two"
(integer) 2
redis> RPUSH mylist "three"
(integer) 3
redis> RPOP mylist
"three"
redis> LRANGE mylist 0 -1
1) "one"
2) "two"

刪除并獲取列表中的最后一個元素

RPOPLPUSH

RPOPLPUSH source destination

例子

redis> RPUSH mylist "one"
(integer) 1
redis> RPUSH mylist "two"
(integer) 2
redis> RPUSH mylist "three"
(integer) 3
redis> RPOPLPUSH mylist myotherlist
"three"
redis> LRANGE mylist 0 -1
1) "one"
2) "two"
redis> LRANGE myotherlist 0 -1
1) "three"

刪除列表中的最后一個元素,將其添加到另一個列表中并返回

LMOVE

LMOVE source destination LEFT|RIGHT LEFT|RIGHT

例子

redis> RPUSH mylist "one"
(integer) 1
redis> RPUSH mylist "two"
(integer) 2
redis> RPUSH mylist "three"
(integer) 3
redis> LMOVE mylist myotherlist RIGHT LEFT
"three"
redis> LMOVE mylist myotherlist LEFT RIGHT
"one"
redis> LRANGE mylist 0 -1
1) "two"
redis> LRANGE myotherlist 0 -1
1) "three"
2) "one"

從列表中彈出一個元素,將其推入另一個列表并返回

RPUSH

RPUSH key element [element ...]

例子

redis> RPUSH mylist "hello"
(integer) 1
redis> RPUSH mylist "world"
(integer) 2
redis> LRANGE mylist 0 -1
1) "hello"
2) "world"

將一個或多個元素附加到列表

RPUSHX

RPUSHX key element [element ...]

例子

redis> RPUSH mylist "Hello"
(integer) 1
redis> RPUSHX mylist "World"
(integer) 2
redis> RPUSHX myotherlist "World"
(integer) 0
redis> LRANGE mylist 0 -1
1) "Hello"
2) "World"
redis> LRANGE myotherlist 0 -1
(empty list or set)

僅當(dāng)列表存在時才將元素附加到列表

Redis 哈希類型設(shè)置

HDEL

HDEL key field [field ...]

例子

redis> HSET myhash field1 "foo"
(integer) 1
redis> HDEL myhash field1
(integer) 1
redis> HDEL myhash field2
(integer) 0

刪除一個或多個哈希字段

HEXISTS

HEXISTS key field

例子

redis> HSET myhash field1 "foo"
(integer) 1
redis> HEXISTS myhash field1
(integer) 1
redis> HEXISTS myhash field2
(integer) 0

判斷哈希字段是否存在

HGET

HGET key field

例子

redis> HSET myhash field1 "foo"
(integer) 1
redis> HGET myhash field1
"foo"
redis> HGET myhash field2
(nil)

獲取哈希字段的值

HGETALL

HGETALL key

例子

redis> HSET myhash field1 "Hello"
(integer) 1
redis> HSET myhash field2 "World"
(integer) 1
redis> HGETALL myhash
1) "field1"
2) "Hello"
3) "field2"
4) "World"

獲取哈希中的所有字段和值

HINCRBY

HINCRBY key field increment

例子

redis> HSET myhash field 5
(integer) 1
redis> HINCRBY myhash field 1
(integer) 6
redis> HINCRBY myhash field -1
(integer) 5
redis> HINCRBY myhash field -10
(integer) -5

將哈希字段的整數(shù)值增加給定的數(shù)字

HINCRBYFLOAT

HINCRBYFLOAT key field increment

例子

redis> HSET mykey field 10.50
(integer) 1
redis> HINCRBYFLOAT mykey field 0.1
"10.6"
redis> HINCRBYFLOAT mykey field -5
"5.6"
redis> HSET mykey field 5.0e3
(integer) 0
redis> HINCRBYFLOAT mykey field 2.0e2
"5200"

將哈希字段的浮點值增加給定的數(shù)量

HKEYS

HKEYS key

例子

redis> HSET myhash field1 "Hello"
(integer) 1
redis> HSET myhash field2 "World"
(integer) 1
redis> HKEYS myhash
1) "field1"
2) "field2"

獲取哈希中的所有字段

HLEN

HLEN key

例子

redis> HSET myhash field1 "Hello"
(integer) 1
redis> HSET myhash field2 "World"
(integer) 1
redis> HLEN myhash
(integer) 2

獲取哈希中的字段數(shù)

HMGET

HMGET key field [field ...]

例子

redis> HSET myhash field1 "Hello"
(integer) 1
redis> HSET myhash field2 "World"
(integer) 1
redis> HMGET myhash field1 field2 nofield
1) "Hello"
2) "World"
3) (nil)

獲取所有給定哈希字段的值

HMSET

HMSET key field value [field value ...]

例子

redis> HMSET myhash field1 "Hello" field2 "World"
"OK"
redis> HGET myhash field1
"Hello"
redis> HGET myhash field2
"World"

將多個哈希字段設(shè)置為多個值

HSET

HSET key field value [field value ...]

例子

redis> HSET myhash field1 "Hello"
(integer) 1
redis> HGET myhash field1
"Hello"

設(shè)置哈希字段的字符串值

HSETNX

HSETNX key field value

例子

redis> HSETNX myhash field "Hello"
(integer) 1
redis> HSETNX myhash field "World"
(integer) 0
redis> HGET myhash field
"Hello"

設(shè)置哈希字段的值,僅當(dāng)該字段不存在時

HSTRLEN

HSTRLEN key field

例子

redis> HMSET myhash f1 HelloWorld f2 99 f3 -256
"OK"
redis> HSTRLEN myhash f1
(integer) 10
redis> HSTRLEN myhash f2
(integer) 2
redis> HSTRLEN myhash f3
(integer) 4

獲取哈希字段值的長度

HVALS

HVALS key

例子

redis> HSET myhash field1 "Hello"
(integer) 1
redis> HSET myhash field2 "World"
(integer) 1
redis> HVALS myhash
1) "Hello"
2) "World"

獲取哈希中的所有值

Redis 排序集類型設(shè)置

BZPOPMIN

BZPOPMIN key [key ...] timeout

例子

redis> DEL zset1 zset2
(integer) 0
redis> ZADD zset1 0 a 1 b 2 c
(integer) 3
redis> BZPOPMIN zset1 zset2 0
1) "zset1"
2) "a"
3) "0"

從一個或多個排序集合中刪除并返回得分最低的成員,或者阻塞直到一個可用

BZPOPMAX

BZPOPMAX key [key ...] timeout

例子

redis> DEL zset1 zset2
(integer) 0
redis> ZADD zset1 0 a 1 b 2 c
(integer) 3
redis> BZPOPMAX zset1 zset2 0
1) "zset1"
2) "c"
3) "2"

從一個或多個排序集合中刪除并返回得分最高的成員,或者阻塞直到一個可用

ZADD

ZADD key [NX|XX] [GT|LT] [CH] [INCR] score member [score 
member ...]

例子

redis> ZADD myzset 1 "one"
(integer) 1
redis> ZADD myzset 1 "uno"
(integer) 1
redis> ZADD myzset 2 "two" 3 "three"
(integer) 2
redis> ZRANGE myzset 0 -1 WITHSCORES
1) "one"
2) "1"
3) "uno"
4) "1"
5) "two"
6) "2"
7) "three"
8) "3"

將一個或多個成員添加到有序集合中,或者更新其分?jǐn)?shù)(如果它已經(jīng)存在)

ZCARD

ZCARD key

例子

redis> ZADD myzset 1 "one"
(integer) 1
redis> ZADD myzset 2 "two"
(integer) 1
redis> ZCARD myzset
(integer) 2

獲取有序集合中的成員數(shù)

ZSCORE

ZSCORE key member

例子

redis> ZADD myzset 1 "one"
(integer) 1
redis> ZSCORE myzset "one"
"1"

獲取與排序集中給定成員關(guān)聯(lián)的分?jǐn)?shù)

ZCOUNT

ZCOUNT key min max

例子

redis> ZADD myzset 1 "one"
(integer) 1
redis> ZADD myzset 2 "two"
(integer) 1
redis> ZADD myzset 3 "three"
(integer) 1
redis> ZCOUNT myzset -inf +inf
(integer) 3
redis> ZCOUNT myzset (1 3
(integer) 2

計算得分在給定值內(nèi)的排序集中的成員

ZDIFF

ZDIFF numkeys key [key ...] [WITHSCORES]

例子

redis> ZADD zset1 1 "one"
(integer) 1
redis> ZADD zset1 2 "two"
(integer) 1
redis> ZADD zset1 3 "three"
(integer) 1
redis> ZADD zset2 1 "one"
(integer) 1
redis> ZADD zset2 2 "two"
(integer) 1
redis> ZDIFF 2 zset1 zset2
1) "three"
redis> ZDIFF 2 zset1 zset2 WITHSCORES
1) "three"
2) "3"

減去多個排序集

ZDIFFSTORE

ZDIFFSTORE destination numkeys key [key ...]

例子

redis> ZADD zset1 1 "one"
(integer) 1
redis> ZADD zset1 2 "two"
(integer) 1
redis> ZADD zset1 3 "three"
(integer) 1
redis> ZADD zset2 1 "one"
(integer) 1
redis> ZADD zset2 2 "two"
(integer) 1
redis> ZDIFFSTORE out 2 zset1 zset2
(integer) 1
redis> ZRANGE out 0 -1 WITHSCORES
1) "three"
2) "3"

減去多個排序集并將生成的排序集存儲在新鍵中

ZINCRBY

ZINCRBY key increment member

例子

redis> ZADD myzset 1 "one"
(integer) 1
redis> ZADD myzset 2 "two"
(integer) 1
redis> ZINCRBY myzset 2 "one"
"3"
redis> ZRANGE myzset 0 -1 WITHSCORES
1) "two"
2) "2"
3) "one"
4) "3"

增加排序集中成員的分?jǐn)?shù)

ZINTER

ZINTER numkeys key [key ...] [WEIGHTS weight [weight ...]] 
[AGGREGATE SUM|MIN|MAX] [WITHSCORES]

例子

redis> ZADD zset1 1 "one"
(integer) 1
redis> ZADD zset1 2 "two"
(integer) 1
redis> ZADD zset2 1 "one"
(integer) 1
redis> ZADD zset2 2 "two"
(integer) 1
redis> ZADD zset2 3 "three"
(integer) 1
redis> ZINTER 2 zset1 zset2
1) "one"
2) "two"
redis> ZINTER 2 zset1 zset2 WITHSCORES
1) "one"
2) "2"
3) "two"
4) "4"

與多個排序集相交

ZINTERSTORE

ZINTERSTORE destination numkeys key [key ...] [WEIGHTS weight 
[weight ...]] [AGGREGATE SUM|MIN|MAX]

例子

redis> ZADD zset1 1 "one"
(integer) 1
redis> ZADD zset1 2 "two"
(integer) 1
redis> ZADD zset2 1 "one"
(integer) 1
redis> ZADD zset2 2 "two"
(integer) 1
redis> ZADD zset2 3 "three"
(integer) 1
redis> ZINTERSTORE out 2 zset1 zset2 WEIGHTS 2 3
(integer) 2
redis> ZRANGE out 0 -1 WITHSCORES
1) "one"
2) "5"
3) "two"
4) "10"

將多個排序集相交并將生成的排序集存儲在新鍵中

ZLEXCOUNT

ZLEXCOUNT key min max

例子

redis> ZADD myzset 0 a 0 b 0 c 0 d 0 e
(integer) 5
redis> ZADD myzset 0 f 0 g
(integer) 2
redis> ZLEXCOUNT myzset - +
(integer) 7
redis> ZLEXCOUNT myzset [b [f
(integer) 5

計算給定詞典范圍之間的有序集合中的成員數(shù)

ZPOPMAX

ZPOPMAX key [count]

例子

redis> ZADD myzset 1 "one"
(integer) 1
redis> ZADD myzset 2 "two"
(integer) 1
redis> ZADD myzset 3 "three"
(integer) 1
redis> ZPOPMAX myzset
1) "three"
2) "3"

刪除并返回排序集中得分最高的成員

ZPOPMIN

ZPOPMIN key [count]

例子

redis> ZADD myzset 1 "one"
(integer) 1
redis> ZADD myzset 2 "two"
(integer) 1
redis> ZADD myzset 3 "three"
(integer) 1
redis> ZPOPMIN myzset
1) "one"
2) "1"

刪除并返回排序集中得分最低的成員

ZRANGE

ZRANGE key start stop [WITHSCORES]

例子

redis> ZADD myzset 1 "one"
(integer) 1
redis> ZADD myzset 2 "two"
(integer) 1
redis> ZADD myzset 3 "three"
(integer) 1
redis> ZRANGE myzset 0 -1
1) "one"
2) "two"
3) "three"
redis> ZRANGE myzset 2 3
1) "three"
redis> ZRANGE myzset -2 -1
1) "two"
2) "three"

按索引返回排序集中的一系列成員

ZRANGEBYLEX

ZRANGEBYLEX key min max [LIMIT offset count]

例子

redis> ZADD myzset 0 a 0 b 0 c 0 d 0 e 0 f 0 g
(integer) 7
redis> ZRANGEBYLEX myzset - [c
1) "a"
2) "b"
3) "c"
redis> ZRANGEBYLEX myzset - (c
1) "a"
2) "b"
redis> ZRANGEBYLEX myzset [aaa (g
1) "b"
2) "c"
3) "d"
4) "e"
5) "f"

按詞典順序返回排序集中的一系列成員

ZREVRANGEBYLEX

ZREVRANGEBYLEX key max min [LIMIT offset count]

例子

redis> ZADD myzset 0 a 0 b 0 c 0 d 0 e 0 f 0 g
(integer) 7
redis> ZREVRANGEBYLEX myzset [c -
1) "c"
2) "b"
3) "a"
redis> ZREVRANGEBYLEX myzset (c -
1) "b"
2) "a"
redis> ZREVRANGEBYLEX myzset (g [aaa
1) "f"
2) "e"
3) "d"
4) "c"
5) "b"

返回排序集中的一系列成員,按字典范圍,從高到低的字符串排序。

ZRANGEBYSCORE

ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT offset count]

例子

redis> ZADD myzset 1 "one"
(integer) 1
redis> ZADD myzset 2 "two"
(integer) 1
redis> ZADD myzset 3 "three"
(integer) 1
redis> ZRANGEBYSCORE myzset -inf +inf
1) "one"
2) "two"
3) "three"
redis> ZRANGEBYSCORE myzset 1 2
1) "one"
2) "two"
redis> ZRANGEBYSCORE myzset (1 2
1) "two"
redis> ZRANGEBYSCORE myzset (1 (2
(empty list or set)

按分?jǐn)?shù)返回排序集中的一系列成員

ZRANK

ZRANK key member

例子

redis> ZADD myzset 1 "one"
(integer) 1
redis> ZADD myzset 2 "two"
(integer) 1
redis> ZADD myzset 3 "three"
(integer) 1
redis> ZRANK myzset "three"
(integer) 2
redis> ZRANK myzset "four"
(nil)

確定有序集合中成員的索引

ZREM

ZREM key member [member ...]

例子

redis> ZADD myzset 1 "one"
(integer) 1
redis> ZADD myzset 2 "two"
(integer) 1
redis> ZADD myzset 3 "three"
(integer) 1
redis> ZREM myzset "two"
(integer) 1
redis> ZRANGE myzset 0 -1 WITHSCORES
1) "one"
2) "1"
3) "three"
4) "3"

從有序集合中移除一個或多個成員

ZREMRANGEBYLEX

ZREMRANGEBYLEX key min max

例子

redis> ZADD myzset 0 aaaa 0 b 0 c 0 d 0 e
(integer) 5
redis> ZADD myzset 0 foo 0 zap 0 zip 0 ALPHA 0 alpha
(integer) 5
redis> ZRANGE myzset 0 -1
1) "ALPHA"
 2) "aaaa"
 3) "alpha"
 4) "b"
 5) "c"
 6) "d"
 7) "e"
 8) "foo"
 9) "zap"
10) "zip"
redis> ZREMRANGEBYLEX myzset [alpha [omega
(integer) 6
redis> ZRANGE myzset 0 -1
1) "ALPHA"
2) "aaaa"
3) "zap"
4) "zip"

刪除給定詞典范圍之間的排序集中的所有成員

ZREMRANGEBYRANK

ZREMRANGEBYRANK key start stop

例子

redis> ZADD myzset 1 "one"
(integer) 1
redis> ZADD myzset 2 "two"
(integer) 1
redis> ZADD myzset 3 "three"
(integer) 1
redis> ZREMRANGEBYRANK myzset 0 1
(integer) 2
redis> ZRANGE myzset 0 -1 WITHSCORES
1) "three"
2) "3"

刪除給定索引內(nèi)排序集中的所有成員

ZREMRANGEBYSCORE

ZREMRANGEBYSCORE key min max

例子

redis> ZADD myzset 1 "one"
(integer) 1
redis> ZADD myzset 2 "two"
(integer) 1
redis> ZADD myzset 3 "three"
(integer) 1
redis> ZREMRANGEBYSCORE myzset -inf (2
(integer) 1
redis> ZRANGE myzset 0 -1 WITHSCORES
1) "two"
2) "2"
3) "three"
4) "3"

刪除給定分?jǐn)?shù)內(nèi)排序集中的所有成員

ZREVRANGE

ZREVRANGE key start stop [WITHSCORES]

例子

redis> ZADD myzset 1 "one"
(integer) 1
redis> ZADD myzset 2 "two"
(integer) 1
redis> ZADD myzset 3 "three"
(integer) 1
redis> ZREVRANGE myzset 0 -1
1) "three"
2) "two"
3) "one"
redis> ZREVRANGE myzset 2 3
1) "one"
redis> ZREVRANGE myzset -2 -1
1) "two"
2) "one"

按索引返回排序集中的一系列成員,分?jǐn)?shù)從高到低排序

ZREVRANGEBYSCORE

ZREVRANGEBYSCORE key max min [WITHSCORES] [LIMIT offset count]

例子

redis> ZADD myzset 1 "one"
(integer) 1
redis> ZADD myzset 2 "two"
(integer) 1
redis> ZADD myzset 3 "three"
(integer) 1
redis> ZREVRANGEBYSCORE myzset +inf -inf
1) "three"
2) "two"
3) "one"
redis> ZREVRANGEBYSCORE myzset 2 1
1) "two"
2) "one"
redis> ZREVRANGEBYSCORE myzset 2 (1
1) "two"
redis> ZREVRANGEBYSCORE myzset (2 (1
(empty list or set)

按分?jǐn)?shù)返回排序集中的一系列成員,分?jǐn)?shù)從高到低排序

ZREVRANK

ZREVRANK key member

例子

redis> ZADD myzset 1 "one"
(integer) 1
redis> ZADD myzset 2 "two"
(integer) 1
redis> ZADD myzset 3 "three"
(integer) 1
redis> ZREVRANK myzset "one"
(integer) 2
redis> ZREVRANK myzset "four"
(nil)

確定一個成員在有序集合中的索引,分?jǐn)?shù)從高到低排序

ZUNION

ZUNION numkeys key [key ...] [WEIGHTS weight [weight ...]] 
[AGGREGATE SUM|MIN|MAX] [WITHSCORES]

例子

redis> ZADD zset1 1 "one"
(integer) 1
redis> ZADD zset1 2 "two"
(integer) 1
redis> ZADD zset2 1 "one"
(integer) 1
redis> ZADD zset2 2 "two"
(integer) 1
redis> ZADD zset2 3 "three"
(integer) 1
redis> ZUNION 2 zset1 zset2
1) "one"
2) "three"
3) "two"
redis> ZUNION 2 zset1 zset2 WITHSCORES
1) "one"
2) "2"
3) "three"
4) "3"
5) "two"
6) "4"

添加多個排序集

ZMSCORE

ZMSCORE key member [member ...]

例子

redis> ZADD myzset 1 "one"
(integer) 1
redis> ZADD myzset 2 "two"
(integer) 1
redis> ZMSCORE myzset "one" "two" "nofield"
1) "1"
2) "2"
3) (nil)

獲取與排序集中給定成員關(guān)聯(lián)的分?jǐn)?shù)

ZUNIONSTORE

ZUNIONSTORE destination numkeys key [key ...] [WEIGHTS weight 
[weight ...]] [AGGREGATE SUM|MIN|MAX]

例子

redis> ZADD zset1 1 "one"
(integer) 1
redis> ZADD zset1 2 "two"
(integer) 1
redis> ZADD zset2 1 "one"
(integer) 1
redis> ZADD zset2 2 "two"
(integer) 1
redis> ZADD zset2 3 "three"
(integer) 1
redis> ZUNIONSTORE out 2 zset1 zset2 WEIGHTS 2 3
(integer) 3
redis> ZRANGE out 0 -1 WITHSCORES
1) "one"
2) "5"
3) "three"
4) "9"
5) "two"
6) "10"

添加多個排序集并將生成的排序集存儲在新鍵中

Redis地圖坐標(biāo)集類型設(shè)置

GEOADD

GEOADD key longitude latitude member [longitude latitude member ...]

例子

redis> GEOADD Sicily 13.361389 38.115556 "Palermo" 15.087269 37.502669 "Catania"
(integer) 2
redis> GEODIST Sicily Palermo Catania
"166274.1516"
redis> GEORADIUS Sicily 15 37 100 km
1) "Catania"
redis> GEORADIUS Sicily 15 37 200 km
1) "Palermo"
2) "Catania"

在使用排序集表示的地理空間索引中添加一個或多個地理空間項

GEOHASH

GEOHASH key member [member ...]

例子

redis> GEOADD Sicily 13.361389 38.115556 "Palermo" 15.087269 37.502669 "Catania"
(integer) 2
redis> GEOHASH Sicily Palermo Catania
1) "sqc8b49rny0"
2) "sqdtr74hyu0"

將地理空間索引的成員作為標(biāo)準(zhǔn) geohash 字符串返回

GEOPOS

GEOPOS key member [member ...]

例子

redis> GEOADD Sicily 13.361389 38.115556 "Palermo" 15.087269 37.502669 "Catania"
(integer) 2
redis> GEOPOS Sicily Palermo Catania NonExisting
1) 1) "13.36138933897018433"
   2) "38.11555639549629859"
2) 1) "15.08726745843887329"
   2) "37.50266842333162032"
3) (nil)

返回地理空間索引成員的經(jīng)度和緯度

GEODIST

GEODIST key member1 member2 [m|km|ft|mi]

例子

redis> GEOADD Sicily 13.361389 38.115556 "Palermo" 15.087269 37.502669 "Catania"
(integer) 2
redis> GEODIST Sicily Palermo Catania
"166274.1516"
redis> GEODIST Sicily Palermo Catania km
"166.2742"
redis> GEODIST Sicily Palermo Catania mi
"103.3182"
redis> GEODIST Sicily Foo Bar
(nil)

返回地理空間索引的兩個成員之間的距離

GEORADIUS

GEORADIUS key longitude latitude radius m|km|ft|mi [WITHCOORD] [WITHDIST] [WITHHASH] [COUNT 
count] [ASC|DESC] [STORE key] [STOREDIST key]

例子

redis> GEOADD Sicily 13.361389 38.115556 "Palermo" 15.087269 37.502669 "Catania"
(integer) 2
redis> GEORADIUS Sicily 15 37 200 km WITHDIST
1) 1) "Palermo"
   2) "190.4424"
2) 1) "Catania"
   2) "56.4413"
redis> GEORADIUS Sicily 15 37 200 km WITHCOORD
1) 1) "Palermo"
   2) 1) "13.36138933897018433"
      2) "38.11555639549629859"
2) 1) "Catania"
   2) 1) "15.08726745843887329"
      2) "37.50266842333162032"
redis> GEORADIUS Sicily 15 37 200 km WITHDIST WITHCOORD
1) 1) "Palermo"
   2) "190.4424"
   3) 1) "13.36138933897018433"
      2) "38.11555639549629859"
2) 1) "Catania"
   2) "56.4413"
   3) 1) "15.08726745843887329"
      2) "37.50266842333162032"

查詢表示地理空間索引的排序集,以獲取與某個點的給定最大距離匹配的成員

GEORADIUSBYMEMBER

GEORADIUSBYMEMBER key member radius m|km|ft|mi [WITHCOORD] [WITHDIST] [WITHHASH] [COUNT count] 
[ASC|DESC] [STORE key] [STOREDIST key]

例子

redis> GEOADD Sicily 13.583333 37.316667 "Agrigento"
(integer) 1
redis> GEOADD Sicily 13.361389 38.115556 "Palermo" 15.087269 37.502669 "Catania"
(integer) 2
redis> GEORADIUSBYMEMBER Sicily Agrigento 100 km
1) "Agrigento"
2) "Palermo"

查詢表示地理空間索引的排序集,以獲取與成員的給定最大距離相匹配的成員

GEOSEARCH

GEOSEARCH key [FROMMEMBER member] [FROMLONLAT longitude latitude] [BYRADIUS radius m|km|ft|mi] 
[BYBOX width height m|km|ft|mi] [ASC|DESC] [COUNT count] [WITHCOORD] [WITHDIST] [WITHHASH]

例子

redis> GEOADD Sicily 13.361389 38.115556 "Palermo" 15.087269 37.502669 "Catania"
(integer) 2
redis> GEOADD Sicily 12.758489 38.788135 "edge1"   17.241510 38.788135 "edge2"
(integer) 2
redis> GEOSEARCH Sicily FROMLONLAT 15 37 BYRADIUS 200 km ASC
1) "Catania"
2) "Palermo"
redis> GEOSEARCH Sicily FROMLONLAT 15 37 BYBOX 400 400 km ASC
1) "Catania"
2) "Palermo"
3) "edge2"
4) "edge1"

查詢表示地理空間索引的排序集,以獲取框或圓區(qū)域內(nèi)的成員。

一些引用(可能有幫助)

:---
GEOSEARCHSTORE查詢表示地理空間索引的排序集以獲取框或圓區(qū)域內(nèi)的成員,并將結(jié)果存儲在另一個鍵中

Redis超文本日志類型設(shè)置

PFADD

PFADD key element [element ...]

例子

redis> PFADD hll a b c d e f g
(integer) 1
redis> PFCOUNT hll
(integer) 7

將指定的元素添加到指定的HyperLogLog。

PFCOUNT

PFCOUNT key [key ...]

例子

redis> PFADD hll foo bar zap
(integer) 1
redis> PFADD hll zap zap zap
(integer) 0
redis> PFADD hll foo bar
(integer) 0
redis> PFCOUNT hll
(integer) 3
redis> PFADD some-other-hll 1 2 3
(integer) 1
redis> PFCOUNT hll some-other-hll
(integer) 6

返回HyperLogLog在鍵處觀察到的集合的近似基數(shù)。

PFMERGE

PFMERGE destkey sourcekey [sourcekey ...]

例子

redis> PFADD hll1 foo bar zap a
(integer) 1
redis> PFADD hll2 a b c foo
(integer) 1
redis> PFMERGE hll3 hll1 hll2
"OK"
redis> PFCOUNT hll3
(integer) 6

將N個不同的HyperLogLogs合并成一個。

Redis流命令

一些引用(可能有幫助)

:---
XINFO獲取有關(guān)流和消費者組的信息
XDEL從流中刪除指定的條目。返回實際刪除的項目數(shù),如果某些 ID 不存在,則可能與傳遞的 ID 數(shù)不同
XREAD返回多個流中從未見過的元素,其 ID 大于調(diào)用者為每個流報告的 ID
XGROUP創(chuàng)建、銷毀和管理消費者組
XREADGROUP使用消費者組從流中返回新條目,或訪問給定消費者的待處理條目的歷史記錄
XCLAIM更改(或獲取)消費者組中消息的所有權(quán),就好像消息已傳遞給指定的消費者一樣
XPENDING從流消費者組待定條目列表中返回信息和條目,這些信息是已獲取但從未確認的消息

XADD

XADD key [MAXLEN [=|~] length] [NOMKSTREAM] *|ID field value [field value ...]

例子

redis> XADD mystream * name Sara surname OConnor
"1609040574632-0"
redis> XADD mystream * field1 value1 field2 value2 field3 value3
"1609040574632-1"
redis> XLEN mystream
(integer) 2
redis> XRANGE mystream - +
1) 1) "1609040574632-0"
   2) 1) "name"
      2) "Sara"
      3) "surname"
      4) "OConnor"
2) 1) "1609040574632-1"
   2) 1) "field1"
      2) "value1"
      3) "field2"
      4) "value2"
      5) "field3"
      6) "value3"

將新條目附加到流

XTRIM

XTRIM key MAXLEN [=|~] length

例子

redis> XADD mystream * field1 A field2 B field3 C field4 D
"1609040575750-0"
redis> XTRIM mystream MAXLEN 2
(integer) 0
redis> XRANGE mystream - +
1) 1) "1609040575750-0"
   2) 1) "field1"
      2) "A"
      3) "field2"
      4) "B"
      5) "field3"
      6) "C"
      7) "field4"
      8) "D"

將流修剪為(大約如果傳遞了“~”)特定大小

XRANGE

XRANGE key start end [COUNT count]

例子

redis> XADD writers * name Virginia surname Woolf
"1609040578002-0"
redis> XADD writers * name Jane surname Austen
"1609040578002-1"
redis> XADD writers * name Toni surname Morrison
"1609040578003-0"
redis> XADD writers * name Agatha surname Christie
"1609040578003-1"
redis> XADD writers * name Ngozi surname Adichie
"1609040578003-2"
redis> XLEN writers
(integer) 5
redis> XRANGE writers - + COUNT 2
1) 1) "1609040578002-0"
   2) 1) "name"
      2) "Virginia"
      3) "surname"
      4) "Woolf"
2) 1) "1609040578002-1"
   2) 1) "name"
      2) "Jane"
      3) "surname"
      4) "Austen"

返回流中的一系列元素,其 ID 與指定的 ID 間隔相匹配

XREVRANGE

XREVRANGE key end start [COUNT count]

例子

redis> XADD writers * name Virginia surname Woolf
"1609040579130-0"
redis> XADD writers * name Jane surname Austen
"1609040579130-1"
redis> XADD writers * name Toni surname Morrison
"1609040579130-2"
redis> XADD writers * name Agatha surname Christie
"1609040579131-0"
redis> XADD writers * name Ngozi surname Adichie
"1609040579131-1"
redis> XLEN writers
(integer) 5
redis> XREVRANGE writers + - COUNT 1
1) 1) "1609040579131-1"
   2) 1) "name"
      2) "Ngozi"
      3) "surname"
      4) "Adichie"

返回流中的一系列元素,ID 與指定的 ID 間隔相匹配,與 XRANGE 相比,順序相反(從大到小的 ID)

XLEN

XLEN key

例子

redis> XADD mystream * item 1
"1609040580250-0"
redis> XADD mystream * item 2
"1609040580250-1"
redis> XADD mystream * item 3
"1609040580251-0"
redis> XLEN mystream
(integer) 3

返回流中的條目數(shù)

XACK

XACK key group ID [ID ...]

例子

redis> XACK mystream mygroup 1526569495631-0
ERR Unknown or disabled command 'XACK'

將待處理消息標(biāo)記為已正確處理,有效地將其從消費者組的待處理條目列表中刪除,該命令的返回值是成功確認的消息數(shù),即我們實際能夠在 PEL 中解析的 ID

集群方面的東西

節(jié)點、集群

:---
CLUSTER ADDSLOTS為接收節(jié)點分配新的哈希槽
CLUSTER BUMPEPOCH提前集群配置紀(jì)元
CLUSTER COUNT-FAILURE-REPORTS返回給定節(jié)點的活動故障報告數(shù)
CLUSTER COUNTKEYSINSLOT返回指定哈希槽中本地鍵的個數(shù)
CLUSTER DELSLOTS在接收節(jié)點中將哈希槽設(shè)置為未綁定
CLUSTER FAILOVER強制副本對其主副本執(zhí)行手動故障轉(zhuǎn)移
CLUSTER FLUSHSLOTS刪除節(jié)點自身的slot信息
CLUSTER FORGET從節(jié)點表中刪除一個節(jié)點
CLUSTER GETKEYSINSLOT返回指定哈希槽中的本地鍵名
CLUSTER INFO提供有關(guān) Redis 集群節(jié)點狀態(tài)的信息
CLUSTER KEYSLOT返回指定鍵的哈希槽
CLUSTER MEET強制節(jié)點集群與另一個節(jié)點握手
CLUSTER MYID返回節(jié)點id
CLUSTER NODES獲取節(jié)點的集群配置
CLUSTER REPLICATE將節(jié)點重新配置為指定主節(jié)點的副本
CLUSTER RESET重置 Redis 集群節(jié)點
CLUSTER SAVECONFIG強制節(jié)點將集群狀態(tài)保存在磁盤上
CLUSTER SET-CONFIG-EPOCH在新節(jié)點中設(shè)置配置紀(jì)元
CLUSTER SETSLOT將哈希槽綁定到特定節(jié)點
CLUSTER SLAVES列出指定主節(jié)點的副本節(jié)點
CLUSTER REPLICAS列出指定主節(jié)點的副本節(jié)點
CLUSTER SLOTS獲取集群插槽數(shù)組到節(jié)點映射
READONLY為到集群副本節(jié)點的連接啟用讀取查詢
READWRITE禁用對集群副本節(jié)點連接的讀取查詢

交易

:---
DISCARD丟棄 MULTI 之后發(fā)出的所有命令
EXEC執(zhí)行 MULTI 之后發(fā)出的所有命令
MULTI標(biāo)記事務(wù)塊的開始
UNWATCH忘記所有監(jiān)視的鍵
WATCH觀察給定的鍵以確定MULTI/EXEC塊的執(zhí)行

腳本

:---
EVAL執(zhí)行 Lua 腳本服務(wù)器端
EVALSHA執(zhí)行 Lua 腳本服務(wù)器端
SCRIPT DEBUG為執(zhí)行的腳本設(shè)置調(diào)試模式
SCRIPT EXISTS檢查腳本緩存中是否存在腳本
SCRIPT FLUSH從腳本緩存中刪除所有腳本
SCRIPT KILL終止當(dāng)前正在執(zhí)行的腳本
SCRIPT LOAD將指定的 Lua 腳本加載到腳本緩存中

發(fā)布操作

:---
PSUBSCRIBE偵聽發(fā)布到與給定模式匹配的頻道的消息
PUBSUB檢查 Pub/Sub 子系統(tǒng)的狀態(tài)
PUBLISH向頻道發(fā)布消息
PUNSUBSCRIBE停止監(jiān)聽發(fā)布到與給定模式匹配的頻道的消息
SUBSCRIBE收聽發(fā)布到給定頻道的消息
UNSUBSCRIBE停止收聽發(fā)布到給定頻道的消息