亚洲成A人片在线观看网站_成年网站免费视频A在线双飞_日日日日做夜夜夜夜无码_久久夜色撩人精品国产小说

Redis 備忘清單

本備忘(wang)單(dan)旨(zhi)在快速理解 所涉及的主要(yao)概念,提供了(le)最常用的SQL語(yu)句(ju),供您參考(kao)。

入門

介紹

Redis 是一個 key-value 存儲系統類似 Memcached

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

啟動 Redis

$ redis-server &

使用 CLI 登陸 redis

$ redis-cli

使(shi)用 Telnet 的登陸 redis

$ telnet 127.0.0.1 6379

小試

Ping 測試

redis> PING
PONG

經典 Hello World

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

數據類型

Redis服務相關的命令設置

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 命令(ling)詳細信息的數組

一些引用(可能有幫助)

:---
從配置的 ACL 文件重新加載 ACL
將當前的 ACL 規則保存在配置的 ACL 文件中
以 ACL 配置文件格式列出當前的 ACL 規則
列出所有配置的ACL規則的用戶名
獲取特定 ACL 用戶的規則
修改或創建特定 ACL 用戶的規則
刪除指定的 ACL 用戶和關聯的規則
列出 ACL 類別或類別內的命令
生成用于 ACL 用戶的偽隨機安全密碼
返回關聯到當前連接的用戶的名稱
列出由于 ACL 到位而被拒絕的最新事件
顯示有關ACL訪問控制的幫助信息
異步重寫 append-only 文件
將數據集異步保存到磁盤
獲取配置參數的值
用內存中的配置重寫配置文件
將配置參數設置為給定值
重置 INFO 返回的統計數據
返回所選數據庫中的鍵數
獲取某個key的調試信息
使服務器崩潰
從所有數據庫中刪除所有密鑰
從當前數據庫中刪除所有鍵
顯示一些計算機信息和 Redis 版本
獲取上次成功保存到磁盤的 UNIX 時間戳
輸出內存問題報告
顯示有關內存的使用幫助
顯示分配器內部統計
要求分配器釋放內存
顯示內存使用詳情(該死,運維的我經常用到)
估計一個鍵的內存使用
列出服務器加載的所有模塊
加載模塊
卸載模塊
實時監聽服務器收到的所有請求
將數據集同步保存到磁盤
將數據集同步保存到磁盤,然后關閉服務器
使服務器成為另一個實例的副本,或將其提升為主服務器
(從Redis 5開始棄用,改成 REPLICAOF了)
使服務器成為另一個實例的副本,或將其提升為主服務器
管理 Redis 慢查詢日志
交換兩個Redis數據庫
用于復制的內部命令(主)
用于復制的內部命令(備)
返回人類可讀的延遲分析報告
返回事件的延遲圖
返回事件的時間戳延遲樣本
返回所有事件的最新延遲樣本
重置一個或多個事件的延遲數據
顯示有關不同子命令的有用文本

COMMAND COUNT

COMMAND COUNT

例子

redis> COMMAND COUNT
(integer) 217

獲(huo)取 Redis 命令總數

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"

給定完整(zheng)的 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"

獲(huo)取特定 Redis 命令(ling)詳細(xi)信息的數(shu)組

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
......

獲取有關服務(wu)器(qi)的(de)信(xin)息(xi)和統計信(xin)息(xi)

ROLE

ROLE

例子

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

返回實(shi)例在復(fu)制上下文中的(de)角(jiao)色

TIME

TIME

例子

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

返回當前服務器時間

Redis一些通用的命令

一些引用(可能有幫助)

:---
復制鍵值對
以原子方式將鍵值對從 Redis 實例傳輸到另一個實例
將鍵值對移動到另一個數據庫
檢查 Redis 對象的內部結構
使用提供的序列化值創建鍵值對,之前使用 DUMP 獲得
對列表、集合或有序集合中的元素進行排序
等待在當前連接的上下文中發送的所有寫命令的同步復制
增量迭代鍵空間

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"

返回存儲(chu)在指定鍵(jian)中(zhong)的值的序(xu)列(lie)化版(ban)本

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

設置鍵值對的(de)生存(cun)時間(以秒為(wei)單(dan)位)

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

將(jiang)鍵(jian)值對(dui)的到期時間(jian)設置為 UNIX 時間(jian)戳(chuo)

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"

查找(zhao)與給定模式匹配的(de)所有(you)鍵

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

從鍵值對中(zhong)刪除過期時間

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

設置鍵的生存(cun)時間(以(yi)毫(hao)秒為單位)

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

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

PTTL

PTTL key

例子

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

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

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"

重命名鍵值(zhi)對,僅(jin)當新(xin)鍵值(zhi)對不(bu)存在時(shi)

TOUCH

TOUCH key [key ...]

例子

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

更改(gai)鍵(jian)值對的(de)(de)最后(hou)訪問(wen)時間。返(fan)回指定的(de)(de)現有鍵(jian)的(de)(de)數量

TTL

TTL key

例子

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

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

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

在另一(yi)個(ge)線程(cheng)中異(yi)步刪除(chu)一(yi)個(ge)鍵。否則它就(jiu)像 DEL,但(dan)不是阻塞的(de)

Redis 連接相關的命令

一些引用(可能有幫助)

:---
向服務器進行身份驗證
指示服務器在下一個請求中是否跟蹤鍵
終止客戶端的連接
獲取客戶端連接列表
獲取當前連接名稱
獲取跟蹤通知重定向客戶端 ID(如果有)
停止處理來自客戶端的命令一段時間
指示服務器是否回復命令
設置當前連接名稱
啟用或禁用服務器輔助客戶端緩存支持
取消阻止來自不同連接的阻塞命令中阻塞的客戶端
切換Redis協議
關閉連接
重置連接
更改為當前連接選擇的數據庫

CLIENT ID

CLIENT ID

例子

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

返回當前連接的客戶(hu)端 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"

返回有關當前客戶端(duan)連接的(de)信息(xi)。

ECHO

ECHO message

例子

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

回顯給定的字符串

PING

PING [message]

例子

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

ping 服務器

Redis 字符串類型設置

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"

將(jiang)值附加到鍵,可以(yi)理(li)解為追加作用

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

對(dui)字符(fu)串執行任意位域整(zheng)數運(yun)算

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"

在(zai)字(zi)符串之間執(zhi)行(xing)按位(wei)運算

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

查找字符串中設置或清除的第一位

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

將鍵的整數值減一

DECRBY

DECRBY key decrement

例子

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

將鍵的整數值(zhi)減去(qu)給定的數字

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"

獲取存儲在鍵中的字符(fu)串的子(zi)字符(fu)串

GETSET

GETSET key value

例子

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

設置(zhi)鍵的字符串值并返回(hui)其舊(jiu)值

INCR

INCR key

例子

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

將鍵的整數值加一

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)

僅當不(bu)存在任何鍵時,將多個鍵設置為多個值

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"

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

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"

將多(duo)(duo)個(ge)(ge)鍵設(she)置為多(duo)(duo)個(ge)(ge)值

INCRBY

INCRBY key increment

例子

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

將鍵的整數值增(zeng)加(jia)給定的數量

PSETEX

PSETEX key milliseconds value

例子

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

設置鍵的值和(he)過期時間(jian)(以毫(hao)秒(miao)為單(dan)位)

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"

設置鍵的(de)字(zi)符串(chuan)值,可以理解為創建、設置、重設的(de)作用

SETBIT

SETBIT key offset value

例子

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

設置(zhi)或清除存儲在鍵中的(de)字符串值中偏移(yi)量(liang)處的(de)位

SETEX

SETEX key seconds value

例子

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

設(she)置(zhi)密鑰的值和(he)過期時間

SETNX

SETNX key value

例子

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

設置(zhi)鍵的值,僅當鍵不存在時(shi)

SETRANGE

SETRANGE key offset value

例子

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

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

STRLEN

STRLEN key

例子

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

獲取存儲在鍵中的值(zhi)的長度

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

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

Redis 集合類型設置

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"

將一個(ge)或多(duo)個(ge)成員添加到集合

SCARD

SCARD key

例子

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

獲取集合中的成員數

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"

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

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"

將多個集合相交并(bing)將結果(guo)集合存儲在(zai)一個鍵中

SISMEMBER

SISMEMBER key member

例子

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

確定給定值是(shi)否是(shi)集(ji)合的成員

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

返回與集合的給定元(yuan)素關聯的成員資格

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"

將(jiang)成員從一組(zu)移(yi)到另(ling)一組(zu)

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"

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

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"

從(cong)一(yi)組中獲取(qu)一(yi)個(ge)或(huo)多個(ge)隨機(ji)成員(yuan)

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"

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

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"

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

Redis 列表類型設置

一些引用(可能有幫助)

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

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"

刪除并獲取(qu)列表中的(de)第一個(ge)元素(su),或者阻塞直到(dao)有一個(ge)元素(su)可用

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"

刪(shan)除并獲取列(lie)表中的(de)最(zui)后一個(ge)元素,或者阻塞直到有一個(ge)可用

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)

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

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"

在列表(biao)中的另一個(ge)元(yuan)素之前或(huo)之后插入一個(ge)元(yuan)素

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"

刪(shan)除(chu)并獲取(qu)列表中的(de)第一個元素

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

返(fan)回(hui)列表中匹(pi)配元素的索引

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"

將(jiang)一個或(huo)多個元素(su)添加到列表(biao)中

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)

僅當列(lie)(lie)表存在(zai)時才將(jiang)元素(su)添加到列(lie)(lie)表中

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)

從列(lie)表中獲取一(yi)系列(lie)元素(su)

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"

通過索引(yin)設置列表中元素(su)的值

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"

將列表(biao)修剪到指定范圍

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"

刪(shan)除并獲取列表(biao)中的最后一個(ge)元素

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"

刪(shan)除列表(biao)中的最后一(yi)個元素,將其添加到另一(yi)個列表(biao)中并(bing)返回

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"

從列表中(zhong)彈出一個元素,將其推入(ru)另一個列表并返(fan)回

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"

將一(yi)個或多個元素附加到(dao)列表

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)

僅當列(lie)表(biao)存在時(shi)才將元素附加到列(lie)表(biao)

Redis 哈希類型設置

HDEL

HDEL key field [field ...]

例子

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

刪除一個或多(duo)個哈希(xi)字段

HEXISTS

HEXISTS key field

例子

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

判斷哈希(xi)字段(duan)是否(fou)存(cun)在

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"

獲(huo)取哈希(xi)中的所(suo)有字段和值

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

將哈希字(zi)段的整數值增加給(gei)定的數字(zi)

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"

將哈(ha)希字段的(de)浮點(dian)值增(zeng)加給(gei)定(ding)的(de)數量

HKEYS

HKEYS key

例子

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

獲取哈希中(zhong)的所有字段

HLEN

HLEN key

例子

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

獲取哈希中的字段數

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)

獲取所有給(gei)定哈(ha)希字段的值

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"

將多個哈希字段(duan)設(she)置(zhi)為多個值

HSET

HSET key field value [field value ...]

例子

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

設置哈希字(zi)段的字(zi)符串(chuan)值

HSETNX

HSETNX key field value

例子

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

設置哈希(xi)字段的值,僅當該字段不存在時

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

獲取哈希字段值的長(chang)度(du)

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 排序集類型設置

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"

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

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"

從一個或(huo)多個排序集合中(zhong)刪(shan)除并返回得分最(zui)高(gao)的成員,或(huo)者阻(zu)塞直到一個可(ke)用

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"

將一個或(huo)多個成員(yuan)添加(jia)到有序(xu)集合中,或(huo)者更新其分數(如果它已經存在)

ZCARD

ZCARD key

例子

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

獲取有(you)序集合中的(de)成員數

ZSCORE

ZSCORE key member

例子

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

獲取(qu)與排序集中給定成(cheng)員關(guan)聯的分(fen)數

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

計算(suan)得分(fen)在給定值內的(de)排(pai)序集中的(de)成員

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"

減(jian)去多個(ge)排序集(ji)并將(jiang)生成的排序集(ji)存(cun)儲在新(xin)鍵中

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"

增加排序集中成(cheng)員的(de)分數

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"

將(jiang)多(duo)個排序集相(xiang)交并將(jiang)生(sheng)成的排序集存儲在(zai)新鍵中(zhong)

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

計(ji)算(suan)給定詞(ci)典范(fan)圍之間的有序(xu)集合中的成員數

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"

刪除(chu)并返回排序(xu)集中得分(fen)最高的成員

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"

刪除并(bing)返回排序(xu)集中得分(fen)最低的成員(yuan)

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"

按索引返(fan)回排(pai)序集中的一(yi)系列成員

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"

按詞(ci)典(dian)順序(xu)返回排(pai)序(xu)集(ji)中的一系列成(cheng)員

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"

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

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)

按(an)分數(shu)返回排(pai)序集(ji)中的一系列成員

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)

確(que)定有序集合(he)中成員的索引(yin)

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"

從(cong)有序集(ji)合中(zhong)移(yi)除一個或多個成員

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"

刪除(chu)給定詞典范圍之間的(de)排序集中的(de)所有成(cheng)員

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"

刪除給定索引(yin)內排序集中的(de)所(suo)有成員

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"

刪除給定分數內(nei)排序(xu)集中的(de)所有成員

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"

按索引返回排(pai)序集中的(de)一系列成員,分數從(cong)高到低排(pai)序

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)

按分數(shu)返回排序集(ji)中的(de)一系列成員,分數(shu)從高(gao)到低排序

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)

確定(ding)一個成(cheng)員在有(you)序集(ji)合中的索(suo)引(yin),分數從高(gao)到低排序

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)

獲取與排序集中給定成員(yuan)關聯的分數(shu)

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"

添(tian)加多個(ge)排序集(ji)并將生成的排序集(ji)存儲在新鍵中

Redis地圖坐標集類型設置

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"

在使用(yong)排序集表示的地(di)理(li)空(kong)間索引中添加一個或(huo)多個地(di)理(li)空(kong)間項

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"

將地理空間索引的成員作為標準 geohash 字符(fu)串返回

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)

返(fan)回地(di)理(li)空間索引(yin)成員的經度和緯度

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)

返回地理空(kong)間索引的(de)兩個成員之間的(de)距(ju)離

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"

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

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"

查詢表示地理空間索引(yin)的(de)排序(xu)集,以獲取與成員的(de)給(gei)定(ding)最大距離相匹(pi)配的(de)成員

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"

查詢表示地(di)理空(kong)間索引的排序集,以(yi)獲(huo)取框或圓區(qu)域(yu)內的成(cheng)員。

一些引用(可能有幫助)

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

Redis超文本日志類型設置

PFADD

PFADD key element [element ...]

例子

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

將指(zhi)定(ding)的元素添加到指(zhi)定(ding)的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

返(fan)回HyperLogLog在(zai)鍵處觀察到(dao)的集合(he)的近似基數。

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合并成(cheng)一個。

Redis流命令

一些引用(可能有幫助)

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

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"

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

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"

返回流中的(de)一系列元素(su),其 ID 與指定的(de) ID 間隔(ge)相匹配(pei)

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"

返回流(liu)中的(de)一系列元(yuan)素(su),ID 與指定(ding)的(de) ID 間隔相匹配,與 XRANGE 相比(bi),順序相反(fan)(從(cong)大到小的(de) 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

返回流中的條目數

XACK

XACK key group ID [ID ...]

例子

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

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

集群方面的東西

節點、集群

:---
為接收節點分配新的哈希槽
提前集群配置紀元
返回給定節點的活動故障報告數
返回指定哈希槽中本地鍵的個數
在接收節點中將哈希槽設置為未綁定
強制副本對其主副本執行手動故障轉移
刪除節點自身的slot信息
從節點表中刪除一個節點
返回指定哈希槽中的本地鍵名
提供有關 Redis 集群節點狀態的信息
返回指定鍵的哈希槽
強制節點集群與另一個節點握手
返回節點id
獲取節點的集群配置
將節點重新配置為指定主節點的副本
重置 Redis 集群節點
強制節點將集群狀態保存在磁盤上
在新節點中設置配置紀元
將哈希槽綁定到特定節點
列出指定主節點的副本節點
列出指定主節點的副本節點
獲取集群插槽數組到節點映射
為到集群副本節點的連接啟用讀取查詢
禁用對集群副本節點連接的讀取查詢

交易

:---
丟棄 MULTI 之后發出的所有命令
執行 MULTI 之后發出的所有命令
標記事務塊的開始
忘記所有監視的鍵
觀察給定的鍵以確定MULTI/EXEC塊的執行

腳本

:---
執行 Lua 腳本服務器端
執行 Lua 腳本服務器端
為執行的腳本設置調試模式
檢查腳本緩存中是否存在腳本
從腳本緩存中刪除所有腳本
終止當前正在執行的腳本
將指定的 Lua 腳本加載到腳本緩存中

發布操作

:---
偵聽發布到與給定模式匹配的頻道的消息
檢查 Pub/Sub 子系統的狀態
向頻道發布消息
停止監聽發布到與給定模式匹配的頻道的消息
收聽發布到給定頻道的消息
停止收聽發布到給定頻道的消息