007-Redi-命令-腳本命令、連接命令、服務器命令、事務、HyperLogLog

Redis 腳本命令

下表列出了 redis 腳本經常使用命令:html

 

序號 命令及描述
1 EVAL script numkeys key [key ...] arg [arg ...] 
執行 Lua 腳本。
2 EVALSHA sha1 numkeys key [key ...] arg [arg ...] 
執行 Lua 腳本。
3 SCRIPT EXISTS script [script ...] 
查看指定的腳本是否已經被保存在緩存當中。
4 SCRIPT FLUSH 
從腳本緩存中移除全部腳本。
5 SCRIPT KILL 
殺死當前正在運行的 Lua 腳本。
6 SCRIPT LOAD script 
將腳本 script 添加到腳本緩存中,但並不當即執行這個腳本。

Redis 鏈接命令redis

下表列出了 redis 鏈接的基本命令:算法

 

序號 命令及描述
1 AUTH password 
驗證密碼是否正確
2 ECHO message 
打印字符串
3 PING 
查看服務是否運行
4 QUIT 
關閉當前鏈接
5 SELECT index 
切換到指定的數據庫

Redis 服務器命令

下表列出了 redis 服務器的相關命令:數據庫

 

序號 命令及描述
1 BGREWRITEAOF 
異步執行一個 AOF(AppendOnly File) 文件重寫操做
2 BGSAVE 
在後臺異步保存當前數據庫的數據到磁盤
3 CLIENT KILL [ip:port] [ID client-id] 
關閉客戶端鏈接
4 CLIENT LIST 
獲取鏈接到服務器的客戶端鏈接列表
5 CLIENT GETNAME 
獲取鏈接的名稱
6 CLIENT PAUSE timeout 
在指定時間內終止運行來自客戶端的命令
7 CLIENT SETNAME connection-name 
設置當前鏈接的名稱
8 CLUSTER SLOTS 
獲取集羣節點的映射數組
9 COMMAND 
獲取 Redis 命令詳情數組
10 COMMAND COUNT 
獲取 Redis 命令總數
11 COMMAND GETKEYS 
獲取給定命令的全部鍵
12 TIME 
返回當前服務器時間
13 COMMAND INFO command-name [command-name ...] 
獲取指定 Redis 命令描述的數組
14 CONFIG GET parameter 
獲取指定配置參數的值
15 CONFIG REWRITE 
對啓動 Redis 服務器時所指定的 redis.conf 配置文件進行改寫
16 CONFIG SET parameter value 
修改 redis 配置參數,無需重啓
17 CONFIG RESETSTAT 
重置 INFO 命令中的某些統計數據
18 DBSIZE 
返回當前數據庫的 key 的數量
19 DEBUG OBJECT key 
獲取 key 的調試信息
20 DEBUG SEGFAULT 
讓 Redis 服務崩潰
21 FLUSHALL 
刪除全部數據庫的全部key
22 FLUSHDB 
刪除當前數據庫的全部key
23 INFO [section] 
獲取 Redis 服務器的各類信息和統計數值
24 LASTSAVE 
返回最近一次 Redis 成功將數據保存到磁盤上的時間,以 UNIX 時間戳格式表示
25 MONITOR 
實時打印出 Redis 服務器接收到的命令,調試用
26 ROLE 
返回主從實例所屬的角色
27 SAVE 
同步保存數據到硬盤
28 SHUTDOWN [NOSAVE] [SAVE] 
異步保存數據到硬盤,並關閉服務器
29 SLAVEOF host port 
將當前服務器轉變爲指定服務器的從屬服務器(slave server)
30 SLOWLOG subcommand [argument] 
管理 redis 的慢日誌
31 SYNC 
用於複製功能(replication)的內部命令

 

Redis 事務

Redis 事務能夠一次執行多個命令, 而且帶有如下兩個重要的保證:數組

  • 批量操做在發送 EXEC 命令前被放入隊列緩存。
  • 收到 EXEC 命令後進入事務執行,事務中任意命令執行失敗,其他的命令依然被執行。
  • 在事務執行過程,其餘客戶端提交的命令請求不會插入到事務執行命令序列中。

一個事務從開始到執行會經歷如下三個階段:緩存

  • 開始事務。
  • 命令入隊。
  • 執行事務。

Redis 事務命令

下表列出了 redis 事務的相關命令:服務器

 

序號 命令及描述
1 DISCARD 
取消事務,放棄執行事務塊內的全部命令。
2 EXEC 
執行全部事務塊內的命令。
3 MULTI 
標記一個事務塊的開始。
4 UNWATCH 
取消 WATCH 命令對全部 key 的監視。
5 WATCH key [key ...] 
監視一個(或多個) key ,若是在事務執行以前這個(或這些) key 被其餘命令所改動,那麼事務將被打斷。

Redis HyperLogLog

Redis 在 2.8.9 版本添加了 HyperLogLog 結構。異步

Redis HyperLogLog 是用來作基數統計的算法,HyperLogLog 的優勢是,在輸入元素的數量或者體積很是很是大時,計算基數所需的空間老是固定 的、而且是很小的。ui

在 Redis 裏面,每一個 HyperLogLog 鍵只須要花費 12 KB 內存,就能夠計算接近 2^64 個不一樣元素的基 數。這和計算基數時,元素越多耗費內存就越多的集合造成鮮明對比。spa

可是,由於 HyperLogLog 只會根據輸入元素來計算基數,而不會儲存輸入元素自己,因此 HyperLogLog 不能像集合那樣,返回輸入的各個元素。


什麼是基數?

好比數據集 {1, 3, 5, 7, 5, 7, 8}, 那麼這個數據集的基數集爲 {1, 3, 5 ,7, 8}, 基數(不重複元素)爲5。 基數估計就是在偏差可接受的範圍內,快速計算基數。

Redis HyperLogLog 命令

下表列出了 redis HyperLogLog 的基本命令:

 

序號 命令及描述
1 PFADD key element [element ...] 
添加指定元素到 HyperLogLog 中。
2 PFCOUNT key [key ...] 
返回給定 HyperLogLog 的基數估算值。
3 PFMERGE destkey sourcekey [sourcekey ...] 將多個 HyperLogLog 合併爲一個 HyperLogLog
相關文章
相關標籤/搜索