[導(dǎo)讀]本文詳細(xì)分析了Redis在使用過程中經(jīng)常會(huì)遇到的延遲問題,以及如何定位和分析。
Redis作為內(nèi)存數(shù)據(jù)庫,擁有非常高的性能,單個(gè)實(shí)例的QPS能夠達(dá)到10W左右。但我們?cè)谑褂肦edis時(shí),經(jīng)常時(shí)不時(shí)會(huì)出現(xiàn)訪問延遲很大的情況,如果你不知道Redis的內(nèi)部實(shí)現(xiàn)原理,在排查問題時(shí)就會(huì)一頭霧水。
很多時(shí)候,Redis出現(xiàn)訪問延遲變大,都與我們的使用不當(dāng)或運(yùn)維不合理導(dǎo)致的。
這篇文章我們就來分析一下Redis在使用過程中,經(jīng)常會(huì)遇到的延遲問題以及如何定位和分析。
如果在使用Redis時(shí),發(fā)現(xiàn)訪問延遲突然增大,如何進(jìn)行排查?
首先,第一步,建議你去查看一下Redis的慢日志。Redis提供了慢日志命令的統(tǒng)計(jì)功能,我們通過以下設(shè)置,就可以查看有哪些命令在執(zhí)行時(shí)延遲比較大。
首先設(shè)置Redis的慢日志閾值,只有超過閾值的命令才會(huì)被記錄,這里的單位是微秒,例如設(shè)置慢日志的閾值為5毫秒,同時(shí)設(shè)置只保留最近1000條慢日志記錄:
#?命令執(zhí)行超過5毫秒記錄慢日志
CONFIG SET slowlog-log-slower-than 5000
#?只保留最近1000條慢日志
CONFIG SET slowlog-max-len 1000
設(shè)置完成之后,所有執(zhí)行的命令如果延遲大于5毫秒,都會(huì)被Redis記錄下來,我們執(zhí)行
SLOWLOG get 5
查詢最近5條慢日志
127.0.0.1:6379> SLOWLOG get5
1)1)(integer)32693# 慢日志ID
2)(integer)1593763337# 執(zhí)行時(shí)間
3)(integer)5299# 執(zhí)行耗時(shí)(微秒)
4)1)"LRANGE"# 具體執(zhí)行的命令和參數(shù)
2)"user_list_2000"
3)"0"
4)"-1"
2)1)(integer)32692
2)(integer)1593763337
3)(integer)5044
4)1)"GET"
2)"book_price_1000"
...
通過查看慢日志記錄,我們就可以知道在什么時(shí)間執(zhí)行哪些命令比較耗時(shí),如果你的業(yè)務(wù)經(jīng)常使用
O(n)
以上復(fù)雜度的命令,例如sort、sunion、zunionstore,或者在執(zhí)行O(n)命令時(shí)操作的數(shù)據(jù)量比較大,這些情況下Redis處理數(shù)據(jù)時(shí)就會(huì)很耗時(shí)。
如果你的服務(wù)請(qǐng)求量并不大,但Redis實(shí)例的CPU使用率很高,很有可能是使用了復(fù)雜度高的命令導(dǎo)致的。
解決方案就是,不使用這些復(fù)雜度較高的命令,并且一次不要獲取太多的數(shù)據(jù),每次盡量操作少量的數(shù)據(jù),讓Redis可以及時(shí)處理返回。
如果查詢慢日志發(fā)現(xiàn),并不是復(fù)雜度較高的命令導(dǎo)致的,例如都是SET、DELETE操作出現(xiàn)在慢日志記錄中,那么你就要懷疑是否存在Redis寫入了大key的情況。
Redis在寫入數(shù)據(jù)時(shí),需要為新的數(shù)據(jù)分配內(nèi)存,當(dāng)從Redis中刪除數(shù)據(jù)時(shí),它會(huì)釋放對(duì)應(yīng)的內(nèi)存空間。
如果一個(gè)key寫入的數(shù)據(jù)非常大,Redis在
分配內(nèi)存時(shí)也會(huì)比較耗時(shí)
。同樣的,當(dāng)刪除這個(gè)key的數(shù)據(jù)時(shí),
釋放內(nèi)存也會(huì)耗時(shí)比較久
。
你需要檢查你的業(yè)務(wù)代碼,是否存在寫入大key的情況,需要評(píng)估寫入數(shù)據(jù)量的大小,業(yè)務(wù)層應(yīng)該避免一個(gè)key存入過大的數(shù)據(jù)量。
那么有沒有什么辦法可以掃描現(xiàn)在Redis中是否存在大key的數(shù)據(jù)嗎?
redis-cli -h $host -p $port --bigkeys -i 0.01
使用上面的命令就可以掃描出整個(gè)實(shí)例key大小的分布情況,它是以類型維度來展示的。
需要注意的是當(dāng)我們在線上實(shí)例進(jìn)行大key掃描時(shí),Redis的QPS會(huì)突增,為了降低掃描過程中對(duì)Redis的影響,我們需要控制掃描的頻率,使用
-i
參數(shù)控制即可,它表示掃描過程中每次掃描的時(shí)間間隔,單位是秒。
使用這個(gè)命令的原理,其實(shí)就是Redis在內(nèi)部執(zhí)行
scan
命令,遍歷所有key,然后針對(duì)不同類型的key執(zhí)行strlen、llen、hlen、scard、zcard來獲取字符串的長度以及容器類型(list/dict/set/zset)的元素個(gè)數(shù)。
而對(duì)于容器類型的key,只能掃描出元素最多的key,但元素最多的key不一定占用內(nèi)存最多,這一點(diǎn)需要我們注意下。不過使用這個(gè)命令一般我們是可以對(duì)整個(gè)實(shí)例中key的分布情況有比較清晰的了解。
針對(duì)大key的問題,Redis官方在4.0版本推出了lazy-free的機(jī)制,用于異步釋放大key的內(nèi)存,降低對(duì)Redis性能的影響。即使這樣,我們也不建議使用大key,大key在集群的遷移過程中,也會(huì)影響到遷移的性能,這個(gè)后面在介紹集群相關(guān)的文章時(shí),會(huì)再詳細(xì)介紹到。
有時(shí)你會(huì)發(fā)現(xiàn),平時(shí)在使用Redis時(shí)沒有延時(shí)比較大的情況,但在某個(gè)時(shí)間點(diǎn)突然出現(xiàn)一波延時(shí),而且報(bào)慢的時(shí)間點(diǎn)很有規(guī)律,例如某個(gè)整點(diǎn),或者間隔多久就會(huì)發(fā)生一次。
如果出現(xiàn)這種情況,就需要考慮是否存在大量key集中過期的情況。
如果有大量的key在某個(gè)固定時(shí)間點(diǎn)集中過期,在這個(gè)時(shí)間點(diǎn)訪問Redis時(shí),就有可能導(dǎo)致延遲增加。
Redis的過期策略采用主動(dòng)過期+懶惰過期兩種策略:
?主動(dòng)過期:Redis內(nèi)部維護(hù)一個(gè)定時(shí)任務(wù),默認(rèn)每隔100毫秒會(huì)從過期字典中隨機(jī)取出20個(gè)key,刪除過期的key,如果過期key的比例超過了25%,則繼續(xù)獲取20個(gè)key,刪除過期的key,循環(huán)往復(fù),直到過期key的比例下降到25%或者這次任務(wù)的執(zhí)行耗時(shí)超過了25毫秒,才會(huì)退出循環(huán)
?懶惰過期:只有當(dāng)訪問某個(gè)key時(shí),才判斷這個(gè)key是否已過期,如果已經(jīng)過期,則從實(shí)例中刪除
注意,
Redis的主動(dòng)過期的定時(shí)任務(wù),也是在Redis主線程中執(zhí)行的
,也就是說如果在執(zhí)行主動(dòng)過期的過程中,出現(xiàn)了需要大量刪除過期key的情況,那么在業(yè)務(wù)訪問時(shí),必須等這個(gè)過期任務(wù)執(zhí)行結(jié)束,才可以處理業(yè)務(wù)請(qǐng)求。此時(shí)就會(huì)出現(xiàn),業(yè)務(wù)訪問延時(shí)增大的問題,最大延遲為25毫秒。
而且這個(gè)訪問延遲的情況,不會(huì)記錄在慢日志里
。慢日志中
只記錄真正執(zhí)行某個(gè)命令的耗時(shí)
,Redis主動(dòng)過期策略執(zhí)行在操作命令之前,如果操作命令耗時(shí)達(dá)不到慢日志閾值,它是不會(huì)計(jì)算在慢日志統(tǒng)計(jì)中的,但我們的業(yè)務(wù)卻感到了延遲增大。
此時(shí)你需要檢查你的業(yè)務(wù),是否真的存在集中過期的代碼,一般集中過期使用的命令是
expireat
或
pexpireat
命令,在代碼中搜索這個(gè)關(guān)鍵字就可以了。
如果你的業(yè)務(wù)確實(shí)需要集中過期掉某些key,又不想導(dǎo)致Redis發(fā)生抖動(dòng),有什么優(yōu)化方案?
解決方案是,
在集中過期時(shí)增加一個(gè)
隨機(jī)時(shí)間
,把這些需要過期的key的時(shí)間打散即可
。
# 在過期時(shí)間點(diǎn)之后的5分鐘內(nèi)隨機(jī)過期掉
redis.expireat(key, expire_time + random(300))
這樣Redis在處理過期時(shí),不會(huì)因?yàn)榧袆h除key導(dǎo)致壓力過大,阻塞主線程。
另外,除了業(yè)務(wù)使用需要注意此問題之外,還可以通過運(yùn)維手段來及時(shí)發(fā)現(xiàn)這種情況。
做法是我們需要把Redis的各項(xiàng)運(yùn)行數(shù)據(jù)監(jiān)控起來,執(zhí)行
info
可以拿到所有的運(yùn)行數(shù)據(jù),在這里我們需要重點(diǎn)關(guān)注expired_keys
這一項(xiàng),它代表整個(gè)實(shí)例到目前為止,累計(jì)刪除過期key的數(shù)量。
我們需要對(duì)這個(gè)指標(biāo)監(jiān)控,當(dāng)在
很短時(shí)間內(nèi)這個(gè)指標(biāo)出現(xiàn)突增
時(shí),需要及時(shí)報(bào)警出來,然后與業(yè)務(wù)報(bào)慢的時(shí)間點(diǎn)對(duì)比分析,確認(rèn)時(shí)間是否一致,如果一致,則可以認(rèn)為確實(shí)是因?yàn)檫@個(gè)原因?qū)е碌难舆t增大。
有時(shí)我們把Redis當(dāng)做純緩存使用,就會(huì)給實(shí)例設(shè)置一個(gè)內(nèi)存上限
maxmemory
,然后開啟LRU淘汰策略。
當(dāng)實(shí)例的內(nèi)存達(dá)到了
maxmemory
后,你會(huì)發(fā)現(xiàn)之后的每次寫入新的數(shù)據(jù),有可能變慢了。
導(dǎo)致變慢的原因是,當(dāng)Redis內(nèi)存達(dá)到
maxmemory
后,每次寫入新的數(shù)據(jù)之前,必須先踢出一部分?jǐn)?shù)據(jù),讓內(nèi)存維持在maxmemory之下。
這個(gè)踢出舊數(shù)據(jù)的邏輯也是需要消耗時(shí)間的,而具體耗時(shí)的長短,要取決于配置的淘汰策略:
?allkeys-lru:不管key是否設(shè)置了過期,淘汰最近最少訪問的key
?volatile-lru:只淘汰最近最少訪問并設(shè)置過期的key
?allkeys-random:不管key是否設(shè)置了過期,隨機(jī)淘汰
?volatile-random:只隨機(jī)淘汰有設(shè)置過期的key
?allkeys-ttl:不管key是否設(shè)置了過期,淘汰即將過期的key
?noeviction:不淘汰任何key,滿容后再寫入直接報(bào)錯(cuò)
?allkeys-lfu:不管key是否設(shè)置了過期,淘汰訪問頻率最低的key(4.0+支持)
?volatile-lfu:只淘汰訪問頻率最低的過期key(4.0+支持)
備注:allkeys-xxx表示從所有的鍵值中淘汰數(shù)據(jù),而volatile-xxx表示從設(shè)置了過期鍵的鍵值中淘汰數(shù)據(jù)。
具體使用哪種策略,需要根據(jù)業(yè)務(wù)場景來決定。
我們最常使用的一般是
allkeys-lru
或
volatile-lru
策略,它們的處理邏輯是,每次從實(shí)例中隨機(jī)取出一批key(可配置),然后淘汰一個(gè)最少訪問的key,之后把剩下的key暫存到一個(gè)池子中,繼續(xù)隨機(jī)取出一批key,并與之前池子中的key比較,再淘汰一個(gè)最少訪問的key。以此循環(huán),直到內(nèi)存降到maxmemory之下。
如果使用的是
allkeys-random
或
volatile-random
策略,那么就會(huì)快很多,因?yàn)槭请S機(jī)淘汰,那么就少了比較key訪問頻率時(shí)間的消耗了,隨機(jī)拿出一批key后直接淘汰即可,因此這個(gè)策略要比上面的LRU策略執(zhí)行快一些。
但以上這些邏輯都是在訪問Redis時(shí),
真正命令執(zhí)行之前執(zhí)行的
,也就是它會(huì)影響我們?cè)L問Redis時(shí)執(zhí)行的命令。
另外,如果此時(shí)Redis實(shí)例中有存儲(chǔ)大key,那么在淘汰大key釋放內(nèi)存時(shí),這個(gè)耗時(shí)會(huì)更加久,延遲更大
,這需要我們格外注意。
如果你的業(yè)務(wù)訪問量非常大,并且必須設(shè)置maxmemory限制實(shí)例的內(nèi)存上限,同時(shí)面臨淘汰key導(dǎo)致延遲增大的的情況,要想緩解這種情況,除了上面說的避免存儲(chǔ)大key、使用隨機(jī)淘汰策略之外,也可以考慮拆分實(shí)例的方法來緩解,拆分實(shí)例可以把一個(gè)實(shí)例淘汰key的壓力
分?jǐn)偟蕉鄠€(gè)實(shí)例
上,可以在一定程度降低延遲。
如果你的Redis開啟了自動(dòng)生成RDB和AOF重寫功能,那么有可能在后臺(tái)生成RDB和AOF重寫時(shí)導(dǎo)致Redis的訪問延遲增大,而等這些任務(wù)執(zhí)行完畢后,延遲情況消失。
遇到這種情況,一般就是執(zhí)行生成RDB和AOF重寫任務(wù)導(dǎo)致的。
生成RDB和AOF都需要父進(jìn)程
fork
出一個(gè)子進(jìn)程進(jìn)行數(shù)據(jù)的持久化,
在fork執(zhí)行過程中,父進(jìn)程需要拷貝內(nèi)存頁表給子進(jìn)程,如果整個(gè)實(shí)例內(nèi)存占用很大,那么需要拷貝的內(nèi)存頁表會(huì)比較耗時(shí),此過程會(huì)消耗大量的CPU資源,在完成fork之前,整個(gè)實(shí)例會(huì)被阻塞住,無法處理任何請(qǐng)求,如果此時(shí)CPU資源緊張,那么fork的時(shí)間會(huì)更長,甚至達(dá)到秒級(jí)。這會(huì)嚴(yán)重影響Redis的性能
。
我們可以執(zhí)行info命令,查看最后一次fork執(zhí)行的耗時(shí)latest_fork_usec,單位微秒。這個(gè)時(shí)間就是整個(gè)實(shí)例阻塞無法處理請(qǐng)求的時(shí)間。
除了因?yàn)閭浞莸脑蛏蒖DB之外,
在主從節(jié)點(diǎn)第一次建立數(shù)據(jù)同步時(shí)
,主節(jié)點(diǎn)也會(huì)生成RDB文件給從節(jié)點(diǎn)進(jìn)行一次全量同步,這時(shí)也會(huì)對(duì)Redis產(chǎn)生性能影響。
要想避免這種情況,我們需要規(guī)劃好數(shù)據(jù)備份的周期,建議在從節(jié)點(diǎn)
上執(zhí)行備份,而且最好放在低峰期執(zhí)行
。如果對(duì)于丟失數(shù)據(jù)不敏感的業(yè)務(wù),那么不建議開啟AOF和AOF重寫功能。
另外,fork的耗時(shí)也與系統(tǒng)有關(guān),如果把Redis部署在虛擬機(jī)上,那么這個(gè)時(shí)間也會(huì)增大。所以使用Redis時(shí)建議部署在物理機(jī)上,降低fork的影響。
很多時(shí)候,我們?cè)诓渴鸱?wù)時(shí),為了提高性能,降低程序在使用多個(gè)CPU時(shí)上下文切換的性能損耗,一般會(huì)采用進(jìn)程綁定CPU的操作。
但在使用Redis時(shí),我們不建議這么干,原因如下:
綁定CPU的Redis,在進(jìn)行數(shù)據(jù)持久化時(shí),fork出的子進(jìn)程,子進(jìn)程會(huì)繼承父進(jìn)程的CPU使用偏好,而此時(shí)子進(jìn)程會(huì)消耗大量的CPU資源進(jìn)行數(shù)據(jù)持久化,子進(jìn)程會(huì)與主進(jìn)程發(fā)生CPU爭搶,這也會(huì)導(dǎo)致主進(jìn)程的CPU資源不足訪問延遲增大。
所以在部署Redis進(jìn)程時(shí),
如果需要開啟RDB和AOF重寫機(jī)制,一定不能進(jìn)行CPU綁定操作!
?
上面提到了,當(dāng)執(zhí)行AOF文件重寫時(shí)會(huì)因?yàn)閒ork執(zhí)行耗時(shí)導(dǎo)致Redis延遲增大,除了這個(gè)之外,如果開啟AOF機(jī)制,設(shè)置的策略不合理,也會(huì)導(dǎo)致性能問題。
開啟AOF后,Redis會(huì)把寫入的命令實(shí)時(shí)寫入到文件中,但寫入文件的過程是先寫入內(nèi)存,等內(nèi)存中的數(shù)據(jù)超過一定閾值或達(dá)到一定時(shí)間后,內(nèi)存中的內(nèi)容才會(huì)被真正寫入到磁盤中。
AOF為了保證文件寫入磁盤的安全性,提供了3種刷盤機(jī)制:
?appendfsync always:每次寫入都刷盤,對(duì)性能影響最大,占用磁盤IO比較高,數(shù)據(jù)安全性最高
?appendfsync everysec:1秒刷一次盤,對(duì)性能影響相對(duì)較小,節(jié)點(diǎn)宕機(jī)時(shí)最多丟失1秒的數(shù)據(jù)
?appendfsync no:按照操作系統(tǒng)的機(jī)制刷盤,對(duì)性能影響最小,數(shù)據(jù)安全性低,節(jié)點(diǎn)宕機(jī)丟失數(shù)據(jù)取決于操作系統(tǒng)刷盤機(jī)制
當(dāng)使用第一種機(jī)制appendfsync always時(shí),Redis每處理一次寫命令,都會(huì)把這個(gè)命令寫入磁盤,而且
這個(gè)操作是在主線程中執(zhí)行的
。
內(nèi)存中的的數(shù)據(jù)寫入磁盤,這個(gè)會(huì)加重磁盤的IO負(fù)擔(dān),操作磁盤成本要比操作內(nèi)存的代價(jià)大得多。如果寫入量很大,那么每次更新都會(huì)寫入磁盤,此時(shí)機(jī)器的磁盤IO就會(huì)非常高,拖慢Redis的性能,因此我們不建議使用這種機(jī)制。
與第一種機(jī)制對(duì)比,appendfsync everysec會(huì)每隔1秒刷盤,而appendfsync no取決于操作系統(tǒng)的刷盤時(shí)間,安全性不高。因此我們推薦使用appendfsync everysec這種方式,在最壞的情況下,只會(huì)丟失1秒的數(shù)據(jù),但它能保持較好的訪問性能。
當(dāng)然,對(duì)于有些業(yè)務(wù)場景,對(duì)丟失數(shù)據(jù)并不敏感,也可以不開啟AOF。
如果你發(fā)現(xiàn)Redis突然變得非常慢,每次訪問的耗時(shí)都達(dá)到了幾百毫秒甚至秒級(jí),那此時(shí)就檢查Redis是否使用到了Swap,這種情況下Redis基本上已經(jīng)無法提供高性能的服務(wù)。
我們知道,操作系統(tǒng)提供了Swap機(jī)制,目的是為了當(dāng)內(nèi)存不足時(shí),可以把一部分內(nèi)存中的數(shù)據(jù)換到磁盤上,以達(dá)到對(duì)內(nèi)存使用的緩沖。
但當(dāng)內(nèi)存中的數(shù)據(jù)被換到磁盤上后,訪問這些數(shù)據(jù)就需要從磁盤中讀取,這個(gè)速度要比內(nèi)存慢太多!
尤其是針對(duì)Redis這種高性能的內(nèi)存數(shù)據(jù)庫來說,如果Redis中的內(nèi)存被換到磁盤上,對(duì)于Redis這種性能極其敏感的數(shù)據(jù)庫,這個(gè)操作時(shí)間是無法接受的。
我們需要檢查機(jī)器的內(nèi)存使用情況,確認(rèn)是否確實(shí)是因?yàn)閮?nèi)存不足導(dǎo)致使用到了Swap。
如果確實(shí)使用到了Swap,要及時(shí)整理內(nèi)存空間,釋放出足夠的內(nèi)存供Redis使用,然后釋放Redis的Swap,讓Redis重新使用內(nèi)存。
釋放Redis的Swap過程通常要重啟實(shí)例,為了避免重啟實(shí)例對(duì)業(yè)務(wù)的影響,一般先進(jìn)行主從切換,然后釋放舊主節(jié)點(diǎn)的Swap,重新啟動(dòng)服務(wù),待數(shù)據(jù)同步完成后,再切換回主節(jié)點(diǎn)即可。
可見,當(dāng)Redis使用到Swap后,此時(shí)的Redis的高性能基本被廢掉,所以我們需要提前預(yù)防這種情況。
我們需要對(duì)Redis機(jī)器的內(nèi)存和Swap使用情況進(jìn)行監(jiān)控,在內(nèi)存不足和使用到Swap時(shí)及時(shí)報(bào)警出來,及時(shí)進(jìn)行相應(yīng)的處理。
?
如果以上產(chǎn)生性能問題的場景,你都規(guī)避掉了,而且Redis也穩(wěn)定運(yùn)行了很長時(shí)間,但在某個(gè)時(shí)間點(diǎn)之后開始,訪問Redis開始變慢了,而且一直持續(xù)到現(xiàn)在,這種情況是什么原因?qū)е碌模?/span>
之前我們就遇到這種問題,特點(diǎn)就是從某個(gè)時(shí)間點(diǎn)之后就開始變慢,并且一直持續(xù)。這時(shí)你需要檢查一下機(jī)器的網(wǎng)卡流量,是否存在網(wǎng)卡流量被跑滿的情況。
網(wǎng)卡負(fù)載過高,在網(wǎng)絡(luò)層和TCP層就會(huì)出現(xiàn)數(shù)據(jù)發(fā)送延遲、數(shù)據(jù)丟包等情況。Redis的高性能除了內(nèi)存之外,就在于網(wǎng)絡(luò)IO,請(qǐng)求量突增會(huì)導(dǎo)致網(wǎng)卡負(fù)載變高。
如果出現(xiàn)這種情況,你需要排查這個(gè)機(jī)器上的哪個(gè)Redis實(shí)例的流量過大占滿了網(wǎng)絡(luò)帶寬,然后確認(rèn)流量突增是否屬于業(yè)務(wù)正常情況,如果屬于那就需要及時(shí)擴(kuò)容或遷移實(shí)例,避免這個(gè)機(jī)器的其他實(shí)例受到影響。
運(yùn)維層面,我們需要對(duì)機(jī)器的各項(xiàng)指標(biāo)增加監(jiān)控,包括網(wǎng)絡(luò)流量,在達(dá)到閾值時(shí)提前報(bào)警,及時(shí)與業(yè)務(wù)確認(rèn)并擴(kuò)容。
?
以上我們總結(jié)了Redis中常見的可能導(dǎo)致延遲增大甚至阻塞的場景,這其中既涉及到了業(yè)務(wù)的使用問題,也涉及到Redis的運(yùn)維問題。
可見,要想保證Redis高性能的運(yùn)行,其中涉及到CPU、內(nèi)存、網(wǎng)絡(luò),甚至磁盤的方方面面,其中還包括操作系統(tǒng)的相關(guān)特性的使用。
作為開發(fā)人員,我們需要了解Redis的運(yùn)行機(jī)制,例如各個(gè)命令的執(zhí)行時(shí)間復(fù)雜度、數(shù)據(jù)過期策略、數(shù)據(jù)淘汰策略等,使用合理的命令,并結(jié)合業(yè)務(wù)場景進(jìn)行優(yōu)化。
作為DBA運(yùn)維人員,需要了解數(shù)據(jù)持久化、操作系統(tǒng)fork原理、Swap機(jī)制等,并對(duì)Redis的容量進(jìn)行合理規(guī)劃,預(yù)留足夠的機(jī)器資源,對(duì)機(jī)器做好完善的監(jiān)控,才能保證Redis的穩(wěn)定運(yùn)行。
免責(zé)聲明:本文系網(wǎng)絡(luò)轉(zhuǎn)載,版權(quán)歸原作者所有。如有問題,請(qǐng)聯(lián)系我們,謝謝!
免責(zé)聲明:本文內(nèi)容由21ic獲得授權(quán)后發(fā)布,版權(quán)歸原作者所有,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。文章僅代表作者個(gè)人觀點(diǎn),不代表本平臺(tái)立場,如有問題,請(qǐng)聯(lián)系我們,謝謝!
欲知詳情,請(qǐng)下載word文檔
下載文檔
掃描二維碼,關(guān)注更多精彩內(nèi)容
本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。
關(guān)鍵字:
阿維塔
塞力斯
華為
加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...
關(guān)鍵字:
AWS
AN
BSP
數(shù)字化
倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...
關(guān)鍵字:
汽車
人工智能
智能驅(qū)動(dòng)
BSP
北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...
關(guān)鍵字:
亞馬遜
解密
控制平面
BSP
8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場的投資。
關(guān)鍵字:
騰訊
編碼器
CPU
8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。
關(guān)鍵字:
華為
12nm
EDA
半導(dǎo)體
8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。
關(guān)鍵字:
華為
12nm
手機(jī)
衛(wèi)星通信
要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...
關(guān)鍵字:
通信
BSP
電信運(yùn)營商
數(shù)字經(jīng)濟(jì)
北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...
關(guān)鍵字:
VI
傳輸協(xié)議
音頻
BSP
北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動(dòng)力")與長三角投資(上海)有限...
關(guān)鍵字:
BSP
信息技術(shù)
山海路引?嵐悅新程 三亞2024年8月27日 /美通社/ --?近日,海南地區(qū)六家凱悅系酒店與中國高端新能源車企嵐圖汽車(VOYAH)正式達(dá)成戰(zhàn)略合作協(xié)議。這一合作標(biāo)志著兩大品牌在高端出行體驗(yàn)和環(huán)保理念上的深度融合,將...
關(guān)鍵字:
新能源
BSP
PLAYER
ASIA
上海2024年8月28日 /美通社/ -- 8月26日至8月28日,AHN LAN安嵐與股神巴菲特的孫女妮可?巴菲特共同開啟了一場自然和藝術(shù)的療愈之旅。 妮可·巴菲特在療愈之旅活動(dòng)現(xiàn)場合影 ...
關(guān)鍵字:
MIDDOT
BSP
LAN
SPI
8月29日消息,近日,華為董事、質(zhì)量流程IT總裁陶景文在中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式上表示,中國科技企業(yè)不應(yīng)怕美國對(duì)其封鎖。
關(guān)鍵字:
華為
12nm
EDA
半導(dǎo)體
上海2024年8月26日 /美通社/ -- 近日,全球領(lǐng)先的消費(fèi)者研究與零售監(jiān)測公司尼爾森IQ(NielsenIQ)迎來進(jìn)入中國市場四十周年的重要里程碑,正式翻開在華發(fā)展新篇章。自改革開放以來,中國市場不斷展現(xiàn)出前所未有...
關(guān)鍵字:
BSP
NI
SE
TRACE
上海2024年8月26日 /美通社/ -- 第二十二屆跨盈年度B2B營銷高管峰會(huì)(CC2025)將于2025年1月15-17日在上海舉辦,本次峰會(huì)早鳥票注冊(cè)通道開啟,截止時(shí)間10月11日。 了解更多會(huì)議信息:cc.co...
關(guān)鍵字:
BSP
COM
AI
INDEX
上海2024年8月26日 /美通社/ -- 今日,高端全合成潤滑油品牌美孚1號(hào)攜手品牌體驗(yàn)官周冠宇,開啟全新旅程,助力廣大車主通過駕駛?cè)ヌ剿鞲鼜V闊的世界。在全新發(fā)布的品牌視頻中,周冠宇及不同背景的消費(fèi)者表達(dá)了對(duì)駕駛的熱愛...
關(guān)鍵字:
BSP
汽車制造
此次發(fā)布標(biāo)志著Cision首次為亞太市場量身定制全方位的媒體監(jiān)測服務(wù)。 芝加哥2024年8月27日 /美通社/ -- 消費(fèi)者和媒體情報(bào)、互動(dòng)及傳播解決方案的全球領(lǐng)導(dǎo)者Cis...
關(guān)鍵字:
CIS
IO
SI
BSP
上海2024年8月27日 /美通社/ -- 近來,具有強(qiáng)大學(xué)習(xí)、理解和多模態(tài)處理能力的大模型迅猛發(fā)展,正在給人類的生產(chǎn)、生活帶來革命性的變化。在這一變革浪潮中,物聯(lián)網(wǎng)成為了大模型技術(shù)發(fā)揮作用的重要陣地。 作為全球領(lǐng)先的...
關(guān)鍵字:
模型
移遠(yuǎn)通信
BSP
高通
北京2024年8月27日 /美通社/ -- 高途教育科技公司(紐約證券交易所股票代碼:GOTU)("高途"或"公司"),一家技術(shù)驅(qū)動(dòng)的在線直播大班培訓(xùn)機(jī)構(gòu),今日發(fā)布截至2024年6月30日第二季度未經(jīng)審計(jì)財(cái)務(wù)報(bào)告。 2...
關(guān)鍵字:
BSP
電話會(huì)議
COM
TE
8月26日消息,華為公司最近正式啟動(dòng)了“華為AI百校計(jì)劃”,向國內(nèi)高校提供基于昇騰云服務(wù)的AI計(jì)算資源。
關(guān)鍵字:
華為
12nm
EDA
半導(dǎo)體