redis怎麼配置
Redis的設定檔位於Redis安裝目錄下,檔案名稱為 redis.conf(Windows名為redis.windows.conf)。
你可以透過CONFIG指令查看或設定設定項。
Redis CONFIG 指令格式如下:
redis 127.0.0.1:6379> CONFIG GET CONFIG_SETTING_NAME
實例:
redis 127.0.0.1:6379> CONFIG GET loglevel "loglevel" "notice"
使用 * 號碼取得所有設定項目:
##實例:redis 127.0.0.1:6379> CONFIG GET * "dbfilename" "dump.rdb" "requirepass" "" "masterauth" "" "unixsocket" "" "logfile" "" "pidfile" "/var/run/redis.pid" "maxmemory" "0" "maxmemory-samples" "3" "timeout" "0" "tcp-keepalive" "0" "auto-aof-rewrite-percentage" "100" "auto-aof-rewrite-min-size" "67108864" "hash-max-ziplist-entries" "512" "hash-max-ziplist-value" "64" "list-max-ziplist-entries" "512" "list-max-ziplist-value" "64" "set-max-intset-entries" "512" "zset-max-ziplist-entries" "128" "zset-max-ziplist-value" "64" "hll-sparse-max-bytes" "3000" "lua-time-limit" "5000" "slowlog-log-slower-than" "10000" "latency-monitor-threshold" "0" "slowlog-max-len" "128" "port" "6379" "tcp-backlog" "511" "databases" "16" "repl-ping-slave-period" "10" "repl-timeout" "60" "repl-backlog-size" "1048576" "repl-backlog-ttl" "3600" "maxclients" "4064" "watchdog-period" "0" "slave-priority" "100" "min-slaves-to-write" "0" "min-slaves-max-lag" "10" "hz" "10" "no-appendfsync-on-rewrite" "no" "slave-serve-stale-data" "yes" "slave-read-only" "yes" "stop-writes-on-bgsave-error" "yes" "daemonize" "no" "rdbcompression" "yes" "rdbchecksum" "yes" "activerehashing" "yes" "repl-disable-tcp-nodelay" "no" "aof-rewrite-incremental-fsync" "yes" "appendonly" "no" "dir" "/home/deepak/Downloads/redis-2.8.13/src" "maxmemory-policy" "volatile-lru" "appendfsync" "everysec" "save" "3600 1 300 100 60 10000" "loglevel" "notice" "client-output-buffer-limit" "normal 0 0 0 slave 268435456 67108864 60 pubsub 33554432 8388608 60" "unixsocketperm" "0" "slaveof" "" "notify-keyspace-events" "" "bind" ""
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 "loglevel" "notice"
Redis 預設不是以守護程式的方式執行,可以透過此設定項修改,使用yes 啟用守護程式(Windows 不支援守護執行緒的設定為no )
當Redis 以守護程式方式運作時,Redis 預設會把pid 寫入/var/run/redis.pid 文件,可以透過pidfile 指定
指定Redis 監聽端口,預設端口為6379,作者在自己的一篇博文中解釋了為什麼選用6379 作為默認端口,因為6379 在手機按鍵上MERZ 對應的號碼,而MERZ 取自意大利歌女Alessia Merz 的名字
綁定的主機位址
當客戶閒置多久後關閉連接,如果指定為0,表示關閉此功能
指定日誌記錄級別,Redis 總共支援四個等級:debug、verbose、notice、warning,預設為notice
日誌記錄方式,預設為標準輸出,如果配置Redis 為守護程序方式運行,而這裡又配置為日誌記錄方式為標準輸出,則日誌將會傳送給/dev/null
設定資料庫的數量,預設資料庫為0,可以使用SELECT 指令在連線上指定資料庫id
指定儲存至本機資料庫時是否壓縮數據,預設為yes,Redis 採用LZF 壓縮,如果為了節省CPU 時間,可以關閉該選項,但會導致資料庫檔案變的巨大
#指定本地資料庫檔案名,預設值為dump.rdb
指定本機資料庫存放目錄
#13、slaveof
設定當本機為slav 服務時,設定master 服務的IP 位址及端口,在Redis 啟動時,它會自動從master 進行資料同步
#14、masterauth
當master服務設定了密碼保護時,slav服務連線master的密碼
15、requirepass foobared
設定Redis連線密碼,如果設定了連線密碼,則客戶端在連線Redis 時需要透過AUTH
16、maxclients 128
設定相同時間最大客戶端連線數,預設無限制,Redis 可以同時開啟的客戶端連線數為Redis 程式可以開啟的最大檔案描述符數,如果設定maxclients 0,表示不作限制。當客戶端連線數到達限制時,Redis 會關閉新的連線並向客戶端回傳max number of clients reached 錯誤訊息
17、maxmemory
指定Redis在啟動時會把資料載入到記憶體中,達到最大記憶體後,Redis會先嘗試清除已到期或即將到期的Key,當此方法處理後,仍然到達最大記憶體設置,將無法再進行寫入操作,但仍可進行讀取操作。 Redis 新的vm 機制,會把Key 存放內存,Value 會存放在swap 區
18、appendonly no
指定是否在每次更新操作後進行日誌記錄,Redis 在預設情況下是異步的把資料寫入磁碟,如果不開啟,可能會在斷電時導致一段時間內的資料遺失。因為 redis 本身同步資料檔是按上面 save 條件來同步的,所以有的資料會在一段時間內只存在於記憶體中。預設為no
19、appendfilename appendonly.aof
指定更新日誌檔案名,預設為appendonly.aof
20、appendfsync everysec
no:表示等作業系統進行資料快取同步到磁碟(快)always:表示每次更新操作後手動呼叫fsync() 將資料寫到磁碟(慢,安全)everysec:表示每秒同步一次(折中,預設值)
21、vm-enabled no
指定是否啟用虛擬記憶體機制,預設值為no,簡單的介紹一下,VM 機制將資料分頁存放,由Redis 將存取量較少的頁即冷資料swap 到磁碟上,訪問多的頁面由磁碟自動換出到記憶體中(在後面的文章我會仔細分析Redis 的VM 機制)
22、vm-swap-file /tmp/redis.swap
虛擬記憶體檔案路徑,預設值為/tmp/redis.swap,不可多個Redis 實例共享
23、vm-max-memory 0
將所有大於vm-max-memory 的資料存入虛擬內存,無論vm-max-memory 設定多小,所有索引資料都是內存儲存的(Redis 的索引資料就是keys),也就是說,當vm-max-memory 設置為0 的時候,其實是所有value 都存在於磁碟。預設值為0
24、vm-page-size 32
Redis swap 檔案分成了許多的page,一個物件可以儲存在多個page 上面,但一個page 上不能被多個物件共享,vm-page-size 是要根據儲存的資料大小來設定的,作者建議如果儲存很多小對象,page 大小最好設定為32 或64bytes;如果儲存很大大對象,則可以使用更大的page,如果不確定,就使用預設值
25、vm-pages 134217728
設定swap 檔案中的page 數量,由於頁表(一種表示頁面空閒或使用的bitmap)是在放在內存中的,,在磁碟上每8 個pages 將消耗1byte 的記憶體。
26、vm-max-threads 4
設定存取swap檔案的執行緒數,最好不要超過機器的核數,如果設定為0,那麼所有對swap檔案的操作都是串行的,可能會造成比較長時間的延遲。預設值為4
27、glueoutputbuf yes
設定在向客戶端應答時,是否將較小的包合併為一個包發送,預設為開啟
#28、hash- max-zipmap-entries 64hash-max-zipmap-value 512
指定在超過一定的數量或最大的元素超過某一臨界值時,採用一種特殊的雜湊演算法
29、activerehashing yes
指定是否啟動重置哈希,預設為開啟(後面在介紹Redis 的哈希演算法時具體介紹)
30、include /path/to/local.conf
指定包含其它的配置文件,可以在同一主機上多個Redis實例之間使用同一份配置文件,而同時各個實例又擁有自己的特定配置文件
更多Redis相關知識,請訪問 Redis使用教學專欄!
以上是redis怎麼配置的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

Redis集群模式通過分片將Redis實例部署到多個服務器,提高可擴展性和可用性。搭建步驟如下:創建奇數個Redis實例,端口不同;創建3個sentinel實例,監控Redis實例並進行故障轉移;配置sentinel配置文件,添加監控Redis實例信息和故障轉移設置;配置Redis實例配置文件,啟用集群模式並指定集群信息文件路徑;創建nodes.conf文件,包含各Redis實例的信息;啟動集群,執行create命令創建集群並指定副本數量;登錄集群執行CLUSTER INFO命令驗證集群狀態;使

如何清空 Redis 數據:使用 FLUSHALL 命令清除所有鍵值。使用 FLUSHDB 命令清除當前選定數據庫的鍵值。使用 SELECT 切換數據庫,再使用 FLUSHDB 清除多個數據庫。使用 DEL 命令刪除特定鍵。使用 redis-cli 工具清空數據。

要從 Redis 讀取隊列,需要獲取隊列名稱、使用 LPOP 命令讀取元素,並處理空隊列。具體步驟如下:獲取隊列名稱:以 "queue:" 前綴命名,如 "queue:my-queue"。使用 LPOP 命令:從隊列頭部彈出元素並返回其值,如 LPOP queue:my-queue。處理空隊列:如果隊列為空,LPOP 返回 nil,可先檢查隊列是否存在再讀取元素。

使用 Redis 指令需要以下步驟:打開 Redis 客戶端。輸入指令(動詞 鍵 值)。提供所需參數(因指令而異)。按 Enter 執行指令。 Redis 返迴響應,指示操作結果(通常為 OK 或 -ERR)。

Redis 使用單線程架構,以提供高性能、簡單性和一致性。它利用 I/O 多路復用、事件循環、非阻塞 I/O 和共享內存來提高並發性,但同時存在並發性受限、單點故障和不適合寫密集型工作負載的局限性。

使用Redis進行鎖操作需要通過SETNX命令獲取鎖,然後使用EXPIRE命令設置過期時間。具體步驟為:(1) 使用SETNX命令嘗試設置一個鍵值對;(2) 使用EXPIRE命令為鎖設置過期時間;(3) 當不再需要鎖時,使用DEL命令刪除該鎖。

Redis 作為消息中間件,支持生產-消費模型,可持久化消息並保證可靠交付。使用 Redis 作為消息中間件可實現低延遲、可靠和可擴展的消息傳遞。

理解 Redis 源碼的最佳方法是逐步進行:熟悉 Redis 基礎知識。選擇一個特定的模塊或功能作為起點。從模塊或功能的入口點開始,逐行查看代碼。通過函數調用鏈查看代碼。熟悉 Redis 使用的底層數據結構。識別 Redis 使用的算法。
