1. 程式人生 > >Redis配置詳解

Redis配置詳解

客戶端緩衝區 output buffer

大概已經知道Redis是一個記憶體資料庫,這意味著所有的資料都由RAM直接管理和提供的。因此Redis有著卓越的交付效能,Redis可以以亞毫秒級的延遲處理幾萬、幾十萬的請求。
Redis,如同它的名字和設計,是一個移動伺服器,客戶端(通常)通過網路連線Redis。這種情況下,客戶端請求返回客戶端的時間將顯著長於Redis CPU從RAM讀取資料的時間。這意味著如果沒有客戶端緩衝區的話,Redis的主要差異與在該段時間對服務的響應有關。
客戶端緩衝區組成了服務客戶請求所需的記憶體空間,Redis的每個連線都配有自己的緩衝區空間。處理請求後,Redis把響應資料複製到客戶端緩衝區,然後繼續處理下一個請求,與此同時,請求客戶端通過網路連線讀取資料。Redis客戶端緩衝區配置在redis.conf檔案:

config get client-output-buffer-limit
1) "client-output-buffer-limit"
2) "normal 0 0 0 slave 268435456 67108864 60 pubsub 33554432 8388608 60"</span>
output buffer是Redis為client分配的緩衝區(這裡的"client"可能是真正的client,也可能是slave或monitor),若為某個客戶端分配的output buffer超過了預留大小,Redis可能會根據配置策略關閉與該端的連線。
例如,若Redis被用作message queue,訂購訊息的consumer處理速度跟不上釋出訊息的producer時,就會發生對應的output buffer超限的情況。
該配置項格式如下:
client-output-buffer-limit <class> <hard limit> <soft limit> <soft seconds>
<class>:目前支援3種客戶端:
1) normal => normal clients; 
2) slave clients and MONITOR clients; 
3) pubsub => clients subcribed to at least one pubsub channel or pattern
<hard limit>:若output buffer大小超過該值,Redis會立即關閉與對應client的連線
<soft limit> <soft seconds>:若output buffer大小超過soft limit且這種情況的持續時間超過soft seconds,則Redis會關閉與對應client的連線。
預設的配置如下:
client-output-buffer-limit normal 0 0 0
client-output-buffer-limit slave 256mb 64mb 60
client-output-buffer-limit pubsub 32mb 8mb 60
這些數值分別代表緩衝區軟限制,硬限制和以秒為單位的超時(類似於複製緩衝區)。當Redis終止連線時,這些值提供保護——不需要客戶讀取回復——當緩衝區尺寸達到a)軟限制並且保持狀態直到超時b)硬限制。將這些數值都設為0意味著關閉保護。
不過,和複製緩衝區不同的是客戶端緩衝區來自Redis資料記憶體空間。可以通過maxmemory指令設定Redis的總記憶體值,達到極限後,Redis將應用其配置的驅逐策略(由maxmemory-policy 指令定義)。因此,低效能的客戶或大量的同時連線可能會因為資料集尺寸和客戶端緩衝區達到記憶體限制導致Redis例項過早的驅逐鍵或禁止更新。

由於生命週期的相對性,一個客戶端不需要降低效能就可能導致這種現象。因為RAM讀取和網路讀取存在著很大的速度差異,過多的客戶端緩衝區很可能耗盡Redis記憶體,即使是在高效能的客戶端和網路連線中。例如,考慮下(萬惡的)KEYS指令,這個指令觸發後,Redis將會把整個鍵的名空間拷貝給客戶端緩衝區。如果我們的資料庫有很多鍵,這很可能導致驅逐。

Redis主從配置

主要是針對單點的,全域性的redis進行主從配置,並用aof方式進行增量更新請求資料

在主的redis配置的最後,redis.conf 新增

include /data/redis/6379/instance.conf 

然後在平級的instance.conf 中的內容

appendonly yes   --預設會生成appendonly.aof 儲存資料
maxclients 180000
save ""

在從的redis配置的最後,redis.conf 新增

include /data/redis/6379/instance.conf

然後在平級的instance.conf 中的內容

appendonly yes  --預設會生成appendonly.aof 儲存資料
save ""
slaveof 10.104.5.98 6379   ---該地址就是主的地址

相關推薦

2.redis配置

ads .net 可選值 slaveof pan 方式 修改 mas 文件描述 參考數據:http://www.redis.net.cn/tutorial/3504.html 1.查詢當前配置的方法:   redis的配置文件位於安裝目錄的根目錄,文件名為:redis.

redis 配置

rewrite ice 目錄 阻塞 and 哨兵 精確 包括 兩個 # 守護進程模式 # 默認情況下 redis 不是作為守護進程運行的,如果你想讓它在後臺運行,你就把它改成 yes # 當redis作為守護進程運行的時候,它會寫一個 pid 到 /var/run/

Redis配置(轉)

原文連結:redis.conf配置詳細解析 # redis 配置檔案示例 # 當你需要為某個配置項指定記憶體大小的時候,必須要帶上單位, # 通常的格式就是 1k 5gb 4m 等醬紫: # # 1k => 1000 bytes # 1kb => 1024 b

Redis配置

客戶端緩衝區 output buffer 大概已經知道Redis是一個記憶體資料庫,這意味著所有的資料都由RAM直接管理和提供的。因此Redis有著卓越的交付效能,Redis可以以亞毫秒級的延遲處理

Spring-Data-Redis配置

Spring Data Redis的配置網上一大堆,不同的資料可能方法略有出入。這裡筆者就記錄一下自己親配的流程吧。 首先我專案中使用了Maven。 第一步,先加個repository: <repository><id>maven-central&

java web項目中redis集群或單擊版配置

redis集群 redis單機 jedis jedis客戶端集群 jedis客戶端單機 單機版配置 <bean id="jedisPoolConfig" class="redis.clients.jedis.JedisPoolConfig"> <!--

lamp+redis集群配置

ID 停止 target enable 關閉selinux targe 火墻 官網 not 一,配置防火墻,開啟80、3306端口 #停止firewall服務 systemctl stop firewalld.service #禁止firewall開機啟動 system

Redis:預設配置檔案redis.conf

# Redis配置檔案樣例 # Note on units: when memory size is needed, it is possible to specifiy # it in the usual form of 1k 5GB 4M and so forth: # # 1k =&g

redis配置

redis 127.0.0.1:6379> CONFIG GET loglevel 1) "loglevel" 2) "notice" Redis 的配置檔案位於 Redis 安裝目錄下,檔名為 redis.conf。 你可以通過 CONFIG 命令檢視或設定配置

Redis配置檔案redis.conf --aof&rdb

Redis配置檔案redis.conf 詳解 1.基本配置 記憶體單位的表示 # 1k => 1000 bytes # 1kb => 1024 bytes # 1m => 1000000 bytes # 1mb => 1024*1024 by

Redis 持久化之 AOF 配置

############################## APPEND ONLY MODE ############################### # By default Redis asynchronously dumps the datase

Redis學習筆記--Redis配置檔案Sentinel.conf引數配置

redis-sentinel.conf配置項說明如下: 1.port 26379 sentinel監聽埠,預設是26379,可以修改。 2.sentinel monitor <master-name> <ip> <redis-port> <quorum> 告

redis.conf 配置

# Redis 配置檔案# 當配置中需要配置記憶體大小時,可以使用 1k, 5GB, 4M 等類似的格式,其轉換方式如下(不區分大小寫)## 1k => 1000 bytes# 1kb => 1024 bytes# 1m => 1000000 bytes#

Nginx反向代理Tomcat實現現負載均衡(高可用)以及利用redis+Session同步會話共享配置

簡介: 一、Redis介紹 redis是一個key-value儲存系統。和Memcached類似,它支援儲存的value型別相對更多,包括string(字串)、list(連結串列)、set(集合)、zset(sortedset --有序集合)和hash(雜湊型別)。與m

Redis容災部署哨兵(sentinel)機制配置及原理介紹

1.為什麼要用到哨兵 哨兵(Sentinel)主要是為了解決在主從複製架構中出現宕機的情況,主要分為兩種情況: 1.從Redis宕機 這個相對而言比較簡單,在Redis中從庫重新啟動後會自動加入到主從架構中,自動完成同步資料。在Redis2.8版本後,

Redis持久化原理及配置(RDB方式和AOF方式)

Redis的強大功能很大程度上是由於其將所有資料都儲存在記憶體中。為了使Redis在重啟後仍能保證資料不丟失,需要將資料從記憶體中以某種形式持久化到硬碟中。Redis支援兩種持久化方式,一種是RDB方式,一種是AOF方式。可以單獨使用其中一種或兩種結合使用。(持

Redis.conf配置【超詳細】

[[email protected] blog]# egrep -v"#|^$" /application/redis/conf/6379.conf bind127.0.0.1 #繫結的主機地址,不設定預設將處理所有請求 protected-modeyes 

java叢集之redis sentinel、nginx、session共享配置

說明 1、看此篇文章之前,你需要對spring 基礎,redis等相關技術基礎. 2、redis 服務端使用2主2從,分佈交叉部署至2臺伺服器,且分佈部署2臺tomcat web應用,兩臺伺服器分別部署2臺nginx來實現負載均衡。 3、你需要對叢集的概念有所

setting.xml 配置

校驗 找不到 順序 裁剪 全局 -- mls leg 觸發 文件存放位置 全局配置: ${M2_HOME}/conf/settings.xml 用戶配置: ${user.home}/.m2/settings.xml note:用戶配置優先於全局配置。${user.home}

【Spring】Spring MVC原理及配置

進行 return sub sca scrip uil 線程安全 松耦合 必須 1.Spring MVC概述: Spring MVC是Spring提供的一個強大而靈活的web框架。借助於註解,Spring MVC提供了幾乎是POJO的開發模式,使得控制器的開發和測試更加簡