1. 程式人生 > >Redis 基本命令總結(一)

Redis 基本命令總結(一)

Redis基本命令總結

本文主要包括如下幾個部分:
* PING命令
* INFO命令
* CONFIG命令
* 5種基本操作型別操作
* 釋出&訂閱
* 事務

PING & INFO & CONFIG

PINGINFOCONFIG這三個命令比較相似,就拿在一起講解了。

  • PING命令

當我們通過./redis-cli -h 192.168.100.1 -p 6379 -a admin連線上伺服器後,可以通過PING命令訪問伺服器,看是否能夠獲取到PONG的回覆。如果能則執行成功,反之亦然。

# ./redis-cli -h 192.168.100.90 -p 6379 -a admin
# 192.168.100.90:6379> PING # PONG
  • INFO命令

進入Redis Client 進入Redis後,可以使用INFO命令檢視當前Redis機器的狀態(主從節點個數等等)

[[email protected]90 src]$ ./redis-cli -h 192.168.100.90 -p 6379 -a admin
192.168.100.90:6379> info
# Server
redis_version:3.2.1
redis_git_sha1:00000000
redis_git_dirty:0
redis_build_id:24da8a9b71a6febb
redis_mode:
standalone os:Linux 3.10.0-693.el7.x86_64 x86_64 arch_bits:64 multiplexing_api:epoll gcc_version:4.4.7 process_id:5246 run_id:49d95e1eb322492a70d6d54f3b6dc13703638f5c tcp_port:6379 uptime_in_seconds:57 uptime_in_days:0 hz:10 lru_clock:11741899 executable:/usr/cpic/apps/redis-3.2.1/current/packages/redis-3.2.1/src/redis-server config_file:
/usr/cpic/apps/redis-3.2.1/current/config/redis.conf # Clients connected_clients:5 client_longest_output_list:0 client_biggest_input_buf:0 blocked_clients:0 # Memory used_memory:1707328 used_memory_human:1.63M used_memory_rss:2281472 used_memory_rss_human:2.18M used_memory_peak:1739008 used_memory_peak_human:1.66M total_system_memory:1929097216 total_system_memory_human:1.80G used_memory_lua:37888 used_memory_lua_human:37.00K maxmemory:0 maxmemory_human:0B maxmemory_policy:noeviction mem_fragmentation_ratio:1.34 mem_allocator:libc # Persistence loading:0 rdb_changes_since_last_save:0 rdb_bgsave_in_progress:0 rdb_last_save_time:1521691294 rdb_last_bgsave_status:ok rdb_last_bgsave_time_sec:0 rdb_current_bgsave_time_sec:-1 aof_enabled:0 aof_rewrite_in_progress:0 aof_rewrite_scheduled:0 aof_last_rewrite_time_sec:-1 aof_current_rewrite_time_sec:-1 aof_last_bgrewrite_status:ok aof_last_write_status:ok # Stats total_connections_received:6 total_commands_processed:207 instantaneous_ops_per_sec:6 total_net_input_bytes:9931 total_net_output_bytes:5895904 instantaneous_input_kbps:0.28 instantaneous_output_kbps:3538.31 rejected_connections:0 sync_full:1 sync_partial_ok:0 sync_partial_err:0 expired_keys:0 evicted_keys:0 keyspace_hits:0 keyspace_misses:0 pubsub_channels:1 pubsub_patterns:0 latest_fork_usec:129 migrate_cached_sockets:0 # Replication role:master connected_slaves:1 slave0:ip=192.168.100.91,port=6379,state=online,offset=5943,lag=0 master_repl_offset:5943 repl_backlog_active:1 repl_backlog_size:1048576 repl_backlog_first_byte_offset:2 repl_backlog_histlen:5942 # CPU used_cpu_sys:0.06 used_cpu_user:0.03 used_cpu_sys_children:0.00 used_cpu_user_children:0.00 # Cluster cluster_enabled:0 # Keyspace

引數說明,詳見這篇部落格。

  • CONFIG命令

CONFIG命令可以檢視Redis本機的基本配置。

# Test 1
redis 127.0.0.1:6379> CONFIG GET CONFIG_SETTING_NAME

# Test 2 
redis 127.0.0.1:6379> CONFIG GET loglevel

1) "loglevel"
2) "notice"

# Test3
redis 127.0.0.1:6379> CONFIG GET *

  1) "dbfilename"
  2) "dump.rdb"
  3) "requirepass"
  4) ""
  5) "masterauth"
  6) ""
  7) "unixsocket"
  8) ""
  9) "logfile"
 10) ""
 11) "pidfile"
 12) "/var/run/redis.pid"
 13) "maxmemory"
 14) "0"
 15) "maxmemory-samples"
 16) "3"
 17) "timeout"
 18) "0"
 19) "tcp-keepalive"
 20) "0"
 21) "auto-aof-rewrite-percentage"
 22) "100"
 23) "auto-aof-rewrite-min-size"
 24) "67108864"
 25) "hash-max-ziplist-entries"
 26) "512"
 27) "hash-max-ziplist-value"
 28) "64"
 29) "list-max-ziplist-entries"
 30) "512"
 31) "list-max-ziplist-value"
 32) "64"
 33) "set-max-intset-entries"
 34) "512"
 35) "zset-max-ziplist-entries"
 36) "128"
 37) "zset-max-ziplist-value"
 38) "64"
 39) "hll-sparse-max-bytes"
 40) "3000"
 41) "lua-time-limit"
 42) "5000"
 43) "slowlog-log-slower-than"
 44) "10000"
 45) "latency-monitor-threshold"
 46) "0"
 47) "slowlog-max-len"
 48) "128"
 49) "port"
 50) "6379"
 51) "tcp-backlog"
 52) "511"
 53) "databases"
 54) "16"
 55) "repl-ping-slave-period"
 56) "10"
 57) "repl-timeout"
 58) "60"
 59) "repl-backlog-size"
 60) "1048576"
 61) "repl-backlog-ttl"
 62) "3600"
 63) "maxclients"
 64) "4064"
 65) "watchdog-period"
 66) "0"
 67) "slave-priority"
 68) "100"
 69) "min-slaves-to-write"
 70) "0"
 71) "min-slaves-max-lag"
 72) "10"
 73) "hz"
 74) "10"
 75) "no-appendfsync-on-rewrite"
 76) "no"
 77) "slave-serve-stale-data"
 78) "yes"
 79) "slave-read-only"
 80) "yes"
 81) "stop-writes-on-bgsave-error"
 82) "yes"
 83) "daemonize"
 84) "no"
 85) "rdbcompression"
 86) "yes"
 87) "rdbchecksum"
 88) "yes"
 89) "activerehashing"
 90) "yes"
 91) "repl-disable-tcp-nodelay"
 92) "no"
 93) "aof-rewrite-incremental-fsync"
 94) "yes"
 95) "appendonly"
 96) "no"
 97) "dir"
 98) "/home/deepak/Downloads/redis-2.8.13/src"
 99) "maxmemory-policy"
100) "volatile-lru"
101) "appendfsync"
102) "everysec"
103) "save"
104) "3600 1 300 100 60 10000"
105) "loglevel"
106) "notice"
107) "client-output-buffer-limit"
108) "normal 0 0 0 slave 268435456 67108864 60 pubsub 33554432 8388608 60"
109) "unixsocketperm"
110) "0"
111) "slaveof"
112) ""
113) "notify-keyspace-events"
114) ""
115) "bind"
116) ""
# Test 4
redis 127.0.0.1:6379> CONFIG SET CONFIG_SETTING_NAME NEW_CONFIG_VALUE

# 例項
redis 127.0.0.1:6379> CONFIG SET loglevel "notice"
OK
redis 127.0.0.1:6379> CONFIG GET loglevel

1) "loglevel"
2) "notice"

引數說明

redis.conf 配置項說明如下:

  1. Redis預設不是以守護程序的方式執行,可以通過該配置項修改,使用yes啟用守護程序

    daemonize no

  2. 當Redis以守護程序方式執行時,Redis預設會把pid寫入/var/run/redis.pid檔案,可以通過pidfile指定

    pidfile /var/run/redis.pid

  3. 指定Redis監聽埠,預設埠為6379,作者在自己的一篇博文中解釋了為什麼選用6379作為預設埠,因為6379在手機按鍵上MERZ對應的號碼,而MERZ取自義大利歌女Alessia Merz的名字

    port 6379

  4. 繫結的主機地址

    bind 127.0.0.1

  5. 當 客戶端閒置多長時間後關閉連線,如果指定為0,表示關閉該功能

    timeout 300

  6. 指定日誌記錄級別,Redis總共支援四個級別:debug、verbose、notice、warning,預設為verbose

    loglevel verbose

  7. 日誌記錄方式,預設為標準輸出,如果配置Redis為守護程序方式執行,而這裡又配置為日誌記錄方式為標準輸出,則日誌將會發送給/dev/null

    logfile stdout

  8. 設定資料庫的數量,預設資料庫為0,可以使用SELECT 命令在連線上指定資料庫id

    databases 16

  9. 指定在多長時間內,有多少次更新操作,就將資料同步到資料檔案,可以多個條件配合

    save

    Redis預設配置檔案中提供了三個條件:

    save 900 1

    save 300 10

    save 60 10000

    分別表示900秒(15分鐘)內有1個更改,300秒(5分鐘)內有10個更改以及60秒內有10000個更改。

  10. 指定儲存至本地資料庫時是否壓縮資料,預設為yes,Redis採用LZF壓縮,如果為了節省CPU時間,可以關閉該選項,但會導致資料庫檔案變的巨大

    rdbcompression yes

  11. 指定本地資料庫檔名,預設值為dump.rdb

    dbfilename dump.rdb

  12. 指定本地資料庫存放目錄

    dir ./

  13. 設定當本機為slav服務時,設定master服務的IP地址及埠,在Redis啟動時,它會自動從master進行資料同步

    slaveof

  14. 當master服務設定了密碼保護時,slav服務連線master的密碼

    masterauth

  15. 設定Redis連線密碼,如果配置了連線密碼,客戶端在連線Redis時需要通過AUTH 命令提供密碼,預設關閉

    requirepass foobared

  16. 設定同一時間最大客戶端連線數,預設無限制,Redis可以同時開啟的客戶端連線數為Redis程序可以開啟的最大檔案描述符數,如果設定 maxclients 0,表示不作限制。當客戶端連線數到達限制時,Redis會關閉新的連線並向客戶端返回max number of clients reached錯誤資訊

    maxclients 128

  17. 指定Redis最大記憶體限制,Redis在啟動時會把資料載入到記憶體中,達到最大記憶體後,Redis會先嚐試清除已到期或即將到期的Key,當此方法處理 後,仍然到達最大記憶體設定,將無法再進行寫入操作,但仍然可以進行讀取操作。Redis新的vm機制,會把Key存放記憶體,Value會存放在swap區

    maxmemory

  18. 指定是否在每次更新操作後進行日誌記錄,Redis在預設情況下是非同步的把資料寫入磁碟,如果不開啟,可能會在斷電時導致一段時間內的資料丟失。因為 redis本身同步資料檔案是按上面save條件來同步的,所以有的資料會在一段時間內只存在於記憶體中。預設為no

    appendonly no

  19. 指定更新日誌檔名,預設為appendonly.aof

    appendfilename appendonly.aof

  20. 指定更新日誌條件,共有3個可選值:
    no:表示等作業系統進行資料快取同步到磁碟(快)
    always:表示每次更新操作後手動呼叫fsync()將資料寫到磁碟(慢,安全)
    everysec:表示每秒同步一次(折衷,預設值)

    appendfsync everysec

  21. 指定是否啟用虛擬記憶體機制,預設值為no,簡單的介紹一下,VM機制將資料分頁存放,由Redis將訪問量較少的頁即冷資料swap到磁碟上,訪問多的頁面由磁碟自動換出到記憶體中(在後面的文章我會仔細分析Redis的VM機制)

    vm-enabled no

  22. 虛擬記憶體檔案路徑,預設值為/tmp/redis.swap,不可多個Redis例項共享

    vm-swap-file /tmp/redis.swap

  23. 將所有大於vm-max-memory的資料存入虛擬記憶體,無論vm-max-memory設定多小,所有索引資料都是記憶體儲存的(Redis的索引資料 就是keys),也就是說,當vm-max-memory設定為0的時候,其實是所有value都存在於磁碟。預設值為0

    vm-max-memory 0

  24. Redis swap檔案分成了很多的page,一個物件可以儲存在多個page上面,但一個page上不能被多個物件共享,vm-page-size是要根據儲存的 資料大小來設定的,作者建議如果儲存很多小物件,page大小最好設定為32或者64bytes;如果儲存很大大物件,則可以使用更大的page,如果不 確定,就使用預設值

    vm-page-size 32

  25. 設定swap檔案中的page數量,由於頁表(一種表示頁面空閒或使用的bitmap)是在放在記憶體中的,,在磁碟上每8個pages將消耗1byte的記憶體。

    vm-pages 134217728

  26. 設定訪問swap檔案的執行緒數,最好不要超過機器的核數,如果設定為0,那麼所有對swap檔案的操作都是序列的,可能會造成比較長時間的延遲。預設值為4

    vm-max-threads 4

  27. 設定在向客戶端應答時,是否把較小的包合併為一個包傳送,預設為開啟

    glueoutputbuf yes

  28. 指定在超過一定的數量或者最大的元素超過某一臨界值時,採用一種特殊的雜湊演算法

    hash-max-zipmap-entries 64

    hash-max-zipmap-value 512

  29. 指定是否啟用重置雜湊,預設為開啟(後面在介紹Redis的雜湊演算法時具體介紹)

    activerehashing yes

  30. 指定包含其它的配置檔案,可以在同一主機上多個Redis例項之間使用同一份配置檔案,而同時各個例項又擁有自己的特定配置檔案

    include /path/to/local.conf

其餘伺服器命令

  • BGREWRITEAOF
    非同步執行一個 AOF(AppendOnly File) 檔案重寫操作
  • BGSAVE
    在後臺非同步儲存當前資料庫的資料到磁碟
  • CLIENT KILL [ip:port] [ID client-id]
    關閉客戶端連線
  • CLIENT LIST
    獲取連線到伺服器的客戶端連線列表
  • CLIENT GETNAME
    獲取連線的名稱
  • CLIENT PAUSE timeout
    在指定時間內終止執行來自客戶端的命令
  • CLIENT SETNAME connection-name
    設定當前連線的名稱
  • CLUSTER SLOTS
    獲取叢集節點的對映陣列
  • COMMAND
    獲取 Redis 命令詳情陣列
  • COMMAND COUNT
    獲取 Redis 命令總數
  • COMMAND GETKEYS
    獲取給定命令的所有鍵
  • TIME
    返回當前伺服器時間
  • COMMAND INFO command-name [command-name …]
    獲取指定 Redis 命令描述的陣列
  • CONFIG GET parameter
    獲取指定配置引數的值
  • CONFIG REWRITE
    對啟動 Redis 伺服器時所指定的 redis.conf 配置檔案進行改寫
  • CONFIG SET parameter value
    修改 redis 配置引數,無需重啟
  • CONFIG RESETSTAT
    重置 INFO 命令中的某些統計資料
  • DBSIZE
    返回當前資料庫的 key 的數量
  • DEBUG OBJECT key
    獲取 key 的除錯資訊
  • DEBUG SEGFAULT
    讓 Redis 服務崩潰
  • FLUSHALL
    刪除所有資料庫的所有key
  • FLUSHDB
    刪除當前資料庫的所有key
  • INFO [section]
    獲取 Redis 伺服器的各種資訊和統計數值
  • LASTSAVE
    返回最近一次 Redis 成功將資料儲存到磁碟上的時間,以 UNIX 時間戳格式表示
  • MONITOR
    實時打印出 Redis 伺服器接收到的命令,除錯用
    26 ROLE
    返回主從例項所屬的角色
  • SAVE
    同步儲存資料到硬碟
  • SHUTDOWN [NOSAVE] [SAVE]
    非同步儲存資料到硬碟,並關閉伺服器
  • SLAVEOF host port
    將當前伺服器轉變為指定伺服器的從屬伺服器(slave server)
  • SLOWLOG subcommand [argument]
    管理 redis 的慢日誌
  • SYNC
    用於複製功能(replication)的內部命令

其餘連線命令

  • AUTH password
    驗證密碼是否正確
  • ECHO message
    列印字串
  • PING
    檢視服務是否執行
  • QUIT
    關閉當前連線
  • SELECT index
    切換到指定的資料庫

Reference

相關推薦

Redis 基本命令總結()

Redis基本命令總結 本文主要包括如下幾個部分: * PING命令 * INFO命令 * CONFIG命令 * 5種基本操作型別操作 * 釋出&訂閱 * 事務 PI

redis學習筆記(14)---redis基本命令總結

del diff lan 命令 列表 對象 很多 順序 reg http://doc.redisfans.com/ 網頁,對所有redis命令的用法與示例進行了詳細的描述 概述 Redis的鍵值可以使用物種數據類型:字符串,散列表,列表,集合,有序集合。本文詳細介紹這

redis基本命令

1.Redis命令1.1獲得符合規則的鍵名列表keys pattern1.2判斷一個鍵是否存在exists key1.3刪除鍵del key1.4獲得鍵值的資料型別type key2.redis字串型別2.1賦值與取值set key valueget key2.2 遞增數字字

linux基本命令總結

所在 ons 重復 輸入 結構 統計文件 數據連接 可選 多行 基本命令1.Linux的基本原則:1、由目的單一的小程序組成;組合小程序完成復雜任務;2、一切皆文件;3、盡量避免捕獲用戶接口;(盡量不和用戶進行交互,就是一個程序一但開始運行,就不需要用戶進行任何操作,如ls

Redis常用命令總結(圖解演示)

一:安全相關.     1.1 使用Redis-cli登入.(Redis預設是沒有密碼的.我在配置檔案中新增的登入密碼.)     ./redis-cli    1.2 檢視是否設定了密碼驗證. &nbs

redis 基本命令()

redis set name hmm xx   存在時改變name的值 set name brown nx 不存在時給name賦值 mset name diyige1000wang author shefeier page 456  給多個key賦值 mget nam

Redis常用命令總結

返回 cor strong get 存在 數據類型 發布消息 過期 查詢 在Redis中一共有五種數據類型。 一、String 類型操作 //添加 set key value //查詢 get key //刪除 del key //拼接 append key valu

linux 基本命令

達內 linux 筆記 UNIX誕生,1970年1月1日 用戶-------->內核-------》硬件 發行版的名稱/版本由發行方決定 – Red Hat Enterprise Linux 5/6/7 – Suse Linux Enterprise 12 – Debian Linu

redis 基本命令

有效 nbsp 檢測 times div pen 獲取字符串 key exist set times 2017、12、12 設置鍵名鍵值 get times 獲取鍵名 exists times 檢測鍵名是否存在 type times 鍵名的類型 expire times

linux基本命令總結(二)

mef 進行 天前 ota naconda username n+1 ever flat 3、基本命令-2基本命令-2壓縮和歸檔打包:即歸檔,類似於旅遊之前收拾行李壓縮:為了減少占用的磁盤空間,可以做備份,在網絡上傳輸時節省網絡帶寬。打包壓縮軟件windows:winrar

Redis(三)Redis基本命令操作與API

最新 integer 朋友圈 shm ica 有序集合 object prop hashmap 一Redis 連接 Redis 連接命令主要是用於連接 redis 服務。 實例 以下實例演示了客戶端如何通過密碼驗證連接到 redis 服務,並檢測服務是否在運行: r

Linux基本命令總結(七)

進程管理 完整 自己的 mina 緩沖 共享 roc 占用率 linux 接上篇: 33,Linux中的kill命令用來終止指定的進程(terminate a process)的運行,是Linux下進程管理的常用命令。通常,終止一個前臺進程可以使用Ctrl+C鍵,但是,對於

Oracle基本命令

Oracle基本命令(一) 1.create user username identified by password;//建使用者名稱和密碼oracle ,oracle 2.grant connect,resource,dba to username;//授權 grant connect,

Linux系統常用基本命令總結

目錄 Linux基本命令 Linux的簡介 Linux的廠商 Linux的目錄結構 基於虛擬機器的環境搭建 常用命令與示例 一、檔案基本操作命令 1. ls命令 2.  pwd命令 3.  mkdir命令 4. cd命令 5.

redis 常用命令總結

keys 返回滿足給定條件的所有key 127.0.0.1:6379> keys * 1) "testlist2" 2) "testset4" 3) "testset2" 4) "mytest" 5) "num2" 6) "testset1" 7) "testset3" 8) "testset"

Linux(13)RedHat7 基本命令--cat命令詳解

導言   今天博文講述檢視檔案內容的命令,這個命令是cat。cat命令是最簡單粗暴的命令,將檔案內容直接打印出來。 cat命令 作用   將[檔案]或標準輸入組合輸出到標準輸出。   通俗來講,可以用

linux學習筆記之常用基本命令

1.幫助命令 man獲取幫助資訊 語法:man[命令或配置檔案] help獲得shell內建命令的幫助資訊 語法:help 命令 例: help cd 常用快捷鍵 ctrl +c: 停止程序 ctrl +l: 清屏 ctrl +q: 退出 tab鍵 :補全命令(常用t

Redis常用命令總結(五大資料型別常用命令

目錄 1.key關鍵字: Keys *:檢視當前k-v鍵值對快取中的所有key Exists key的名字,判斷某個key是否存在 Move key db  -->當前庫就沒有了,被移除了 Expire key秒鐘:為給ke

Linux基本命令總結

一、Linux許可權的概念  Linux下有兩種使用者:普通使用者和超級使用者()。  普通使用者:在linux下做有限的事情;  超級使用者:可以在linux系統下做任何事情,不受限制。  普通使用者的提示符是“$”,超級使用者的命令提示符是“#”。  命令: su [使用

linux常用命令總結

rm -rf * //刪除所有 rm dubbo-admin-tomcat //刪除檔案 ps -ef | grep java //檢視正在跑的程序 kill -9 10898 tai