日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

好饭不怕晚,扒一下 Redis 的配置文件

發布時間:2024/8/23 数据库 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 好饭不怕晚,扒一下 Redis 的配置文件 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.


作者 | 阿Q

來源 | 阿Q說代碼

在往期的文章中我們已經對Redis的概念和基本命令進行了講解,今天我們來看下它的配置文件,Redis的配置文件在我們的開發和實際應用中起著非常重要的作用。

我們可以在安裝目錄下找到redis.conf配置文件,通過vim命令進行查看,為了防止配置文件進行更改,大家在使用前一定要備份一下!

本文Redis的版本為5.0.7

UNITS

1k?=>?1000?bytes 1kb?=>?1024?bytes 1m?=>?1000000?bytes 1mb?=>?1024*1024?bytes 1g?=>?1000000000?bytes 1gb?=>?1024*1024*1024?bytes

?單位不區分大小寫,只支持bytes

?

INCLUDES

和structs2配置文件類似,可以通過includes包含。redis.conf可以作為總閘,包含其他。

include?/path/to/local.conf include?/path/to/other.conf

MODULES

loadmodule?/path/to/my_module.so loadmodule?/path/to/other_module.so

Redis可以通過loadmodule選項在啟動時加載模塊,若服務端無法加載模塊,服務端會停止。可以通過多個loadmodule選項加載多個模塊。

NETWORK

  • 「bind 127.0.0.1」:默認情況下,如果未指定“bind”配置指令,Redis將偵聽服務器上所有可用網絡接口的連接。

可以使用“bind”配置指令,后跟一個或多個IP地址,只偵聽一個或多個選定接口。「例如:」bind 192.168.1.100 10.0.0.1

當設置多個bind地址后,Redis內部會維護多個Socket,每個Socket用于一個network interface。

  • 「protected-mode yes」:此選項默認開啟。

當Redis服務端未使用bind選項顯式指定要監聽的network interface,并且未設置密碼,Redis服務端只會接受來自127.0.0.1和::1的客戶端以及Unix域的Socket進行連接。

  • 「port 6379」:用于設置Redis監聽的TCP端口,默認為6379,設置為0表示不監聽TCP端口

  • 「timeout 0」:空閑多少秒之后關閉連接,“0”表示不關閉

  • 「tcp-keepalive 300」:單位為秒,如果為0,則不會進行keepalive檢測,建議設置成60

  • 「tcp-backlog 511」:設置tcp的backlog,backlog其實是一個連接隊列。

?backlog隊列總和 = 未完成三次握手隊列 + 已經完成三次握手隊列

?

在高并發環境下需要一個高backlog值來避免慢客戶端連接問題。

「注意」:Linux內核會將這個值減小到/proc/sys/net/core/somaxconn的值,所以需要確認增大somaxconn和tcp_max_syn_backlog兩個值來達到想要的效果。

GENERAL

daemonize

Redis采用的是單進程多線程的模式,daemonize是用來指定redis是否要用守護線程的方式啟動。默認情況下,Redis不作為守護進程運行。如果需要,請使用“是”。

#daemonize?no? //當前界面將進入redis的命令行界面, exit強制退出或者關閉連接工具(putty, xshell等)都會導致redis進程退出。daemonize?yes????? //代表開啟守護進程模式。在該模式下, redis?會在后臺運行,并將進程?pid?號寫入 至?redis.conf?選項?pidfile?設置的文件中, 此時 redis 將一直運行,除非手動kill該進程。

supervised no

當你通過upstart或者systemd運行Redis時,Redis可以和你的supervision tree進行交互,可選的選項為:

  • no 無交互(默認)

  • upstart 通過向Redis發送SIGSTOP信號來通知upstart

  • systemd 通過向$NOTIFY_SOCKET寫入READY=1來通知systemd

  • auto 通過是否設置了UPSTART_JOB或者NOTIFY_SOCKET環境變量來決定選項為 upstart或者systemd

pidfile

pidfile?/var/run/redis_6379.pid?//進程pid文件

loglevel notice

指定服務器日志級別:從上到下依次減少

  • debug:大量信息,對開發/測試有用

  • verbose:許多很少有用的信息,但不像調試級別那樣混亂

  • notice:適度冗長,可能是生產中需要的內容

  • warning:只記錄非常重要/關鍵的消息

logfile

logfile?""

日志的名字,如果為空,redis給控制臺標準輸出,如果配置為守護進程方式運行,且設置了logfile為stdout,則日志將會發送給/dev/null

database

databases?16

系統默認的庫16個,默認使用0庫

syslog

  • syslog-enabled no:是否把日志輸出到syslog中,系統日志默認是關著

  • syslog-ident redis:指定syslog里的日志標志設備以redis開頭

  • syslog-facility local0:指定syslog設備,值可以是USER或LOCAL0-LOCAL7,默認使用local0

Security (安全)

requirepass?12345!@#

設置redis連接密碼,如果配置了連接密碼,客戶端在連接redis時需要通過Auth <password>命令提供密碼,默認關閉。

如果設置完密碼,ping就失敗了,提示“NoAuth Authentication required”,加上auth + 密碼就通了。

「要求必須auth + password 在任何命令之前」

?

Redis一般做的是緩存,不是安全,而且系統會認為Linux是在安全的環境下。

?

CLIENTS

maxclients 10000:最大連接數

設置redis同時可以與多少個客戶端進行連接。默認情況下為10000個客戶端。

當你無法設置進程文件句柄限制時,redis會設置為當前的文件句柄限制值減去32,因為redis會為自身內部處理邏輯留一些句柄出來。

如果達到了此限制,redis則會拒絕新的連接請求,并且向這些連接請求方發出「max number of clients reached」以作回應。

MEMORY MANAGEMENT

設置redis可以使用的內存量。一旦到達內存使用上限,redis將會試圖移除內部數據,移除規則可以通過maxmemory-policy來指定。

如果redis無法根據移除規則來移除內存中的數據,或者設置了「不允許移除」,那么redis則會針對那些需要申請內存的指令返回錯誤信息,比如SET、LPUSH等。但是對于無內存申請的指令,仍然會正常響應,比如GET等。

如果你的redis是主redis(說明你的redis有從redis),那么在設置內存使用上限時,需要在系統中留出一些內存空間給同步隊列緩存,只有在你設置的是“不移除”的情況下,才不用考慮這個因素。

最大緩存

#maxmemory?<bytes> maxmemory?128MB

設置maxmemory和相對應的回收策略算法,設置最好為物理內存的「3/4」,或者比例更小,因為redis復制數據等其他服務時,也是需要緩存的。以防緩存數據過大致使redis崩潰,造成系統出錯不可用。

犧牲一部分緩存數據,保存整體系統可用性。redis新的內存機制,會把key放在內存,value存放在swap區。

此配置需要和「maxmemory-policy」配合使用,當redis中內存數據達到maxmemory時,觸發「清除策略」。在「內存不足」時,任何write操作(比如set,lpush等)都會觸發「清除策略」的執行。

實際環境

建議redis的所有物理機器的硬件配置保持一致(內存一致),同時確保master/replica中「maxmemory policy」配置一致。

內存滿時

如果還接收到set命令,redis將先嘗試剔除設置過expire信息的key,而不管該key的過期時間有沒有到達。

在刪除時,將按照過期時間進行刪除,最早將要被過期的key將最先被刪除。如果帶有expire信息的key都刪光了,內存還不夠用,那么將返回錯誤。這樣,redis將不再接收寫請求,只接收get請求。

?maxmemory的設置比較適合于把redis當作于類似memcached的緩存來使用。

?

最大緩存策略

「maxmemory-policy」:

  • volatile-lru:使用LRU(最近最少使用)算法移除key,只對設置了過期時間的鍵

  • allkeys-lru:使用LRU算法移除key(所有key)

  • volatile-lfu:對過期鍵使用 LFU(最不經常使用)近似算法

  • allkeys-lfu:對所有鍵使用 LFU 近似算法

  • volatile-random:在過期集合中移除隨機的key,只對設置了過期時間的鍵

  • allkeys-random:移除隨機的key

  • volatile-ttl:移除那些TTL值最小的key,即那些最近要過期的key

  • noeviction:不進行移除。針對寫操作,只是返回錯誤信息(默認)(去公司觀察維度,不應該選擇這個)

?LRU算法、LFU算法或者TTL算法都是不是很精確算法,而是個近似算法。

?

「使用策略規則:」

  • 如果數據呈現冪律分布,也就是一部分數據訪問頻率高,一部分數據訪問頻率低,則使用allkeys-lru。

  • 如果數據呈現平等分布,也就是所有的數據訪問頻率都相同,則使用allkeys-random。

  • 樣本數量

    設置樣本數量,上邊提到的算法都并非是精確的算法,而是估算值,所以你可以設置樣本的大小。

    maxmemory-samples?5

    默認值是 5,也就是說Redis隨機挑出5個鍵,然后選出一個最符合條件的。對LRU來說5是比較合適的。10已經很接近于真正的LRU,但會消耗更多的CPU。3會更快但沒有那么精確。

    副本忽略最大內存

    replica-ignore-maxmemory?yes

    從Redis 5開始,默認情況下,replica節點會忽略maxmemory設置(除非在發生failover后,此節點被提升為master節點)。

    這意味著只有master才會執行過期刪除策略,并且master在刪除鍵之后會對replica發送DEL命令。

    這個行為保證了master和replicas的一致性,并且這通常也是你需要的,但是若你的replica節點是可寫的,或者你希望replica節點有不同的內存配置,并且你確保所有到replica寫操作都冪等的,那么你可以修改這個默認的行為 (請確保你明白你在做什么)。

    「注意」默認情況下replica節點不會執行過期策略,它有可能使用了超過maxmemory設定的值的內存。因此你需要監控replicas節點所在的機器并且確保在master節點到達配置的maxmemory大小時,replicas節點不會超過物理內存的大小。

    今天我們就先說到這了,有不懂的內容歡迎大家在留言區留言~

    往期推薦

    Android 13 第一個開發者版本來了,網友直呼:Android 12 還沒玩透!

    CSDN企業數字化之路 ——「低代碼」發展研討會北京站現場實錄大放送

    使用這個庫,讓你的服務操作 Redis 速度飛起

    將 k8s 制作成 3D 射擊游戲,好玩到停不下來

    點分享

    點收藏

    點點贊

    點在看

    總結

    以上是生活随笔為你收集整理的好饭不怕晚,扒一下 Redis 的配置文件的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 穿情趣内衣被c到高潮视频 欧美性猛交xxxx黑人猛交 | 乱子伦一区二区 | 亚洲国产成人精品女人久久久 | 狠狠干91| 欧美亚洲一区二区三区四区 | 久久99深爱久久99精品 | 成人在线国产视频 | 欧美高清一区 | 免费观看在线视频 | 99re热在线视频 | 黄色裸体片| 亚洲双插 | 美女视频黄色在线观看 | 污污视频网站在线 | 一级黄色片免费 | 亚洲精品女人久久久 | 久久不射视频 | 国产精品免费视频观看 | 久草视频免费在线观看 | 欧美大黑bbbbbbbbb在线 | 蜜色视频| 视频一区二区中文字幕 | 成人性生活免费视频 | 亚洲另类网站 | 西西人体做爰大胆gogo直播 | 亚洲品质自拍视频 | 亚洲伊人av | 欧美极品少妇xxxxⅹ喷水 | 欧美99久久精品乱码影视 | 制服.丝袜.亚洲.中文.综合懂 | 色偷偷五月天 | 国产素人在线观看 | 91这里只有精品 | 亚洲乱轮视频 | 91精品婷婷国产综合久久竹菊 | 娇小的粉嫩xxx极品 国产精品人人爽人人爽 | 成年人性生活免费视频 | 人妻aⅴ无码一区二区三区 阿v免费视频 | 精品成人无码一区二区三区 | 午夜精品久久久久久久99老熟妇 | 欧美无专区 | 天堂av中文| 天天干中文字幕 | 污视频在线免费 | 黄色小视频在线 | av大片在线免费观看 | 午夜伦情 | 伊伊成人网 | 综合久久伊人 | 一区二区黄色片 | 无码不卡av东京热毛片 | 午夜影院视频 | av激情四射 | 亚洲美女av网站 | 我们2018在线观看免费版高清 | 天天国产视频 | 欧美国产一区二区三区 | 超碰在线网站 | 秋霞国产精品 | 久久中文免费视频 | 床戏高潮呻吟声片段 | 哺乳期喷奶水丰满少妇 | 中文字幕一区二区三区四区视频 | 夜夜爽夜夜叫夜夜高潮漏水 | 都市激情中文字幕 | 国产在线精品一区二区 | www.国产色 | 欧美黑人性受xxxx精品 | 免费又黄又爽又色的视频 | 久久精品视频在线播放 | 伊人影片 | 国产破处在线 | 花房姑娘免费全集 | 免费观看在线播放 | 亚洲成人黄色小说 | 香港三级韩国三级日本三级 | 久久久久一区二区 | 99久久婷婷国产综合精品 | 国产精品自产拍高潮在线观看 | 亚洲在线观看av | 黄色二级毛片 | 欧美日韩不卡 | 丰满人妻中伦妇伦精品app | 成人亚洲一区二区 | 狠狠搞视频 | 91丝袜在线 | 91在线最新 | av黄色影院 | 妖精视频在线观看 | jizzjizz在线观看 | 午夜精品福利视频 | 黑人精品一区二区三区 | 男男做的视频 | 老子影院午夜精品无码 | 性欧美久久久 | 国产调教视频 | a毛片网站 | 国内激情自拍 | 欧美一区二区三区影视 |