真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Redis4.0支持的新功能說(shuō)明-創(chuàng)新互聯(lián)

本文以華為云DCS for Redis版本為例,介紹Redis4.0的新功能。文章轉(zhuǎn)載自華為云幫助中心。

創(chuàng)新互聯(lián)是一家專(zhuān)注于成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作、外貿(mào)網(wǎng)站建設(shè)與策劃設(shè)計(jì),寶山網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)做網(wǎng)站,專(zhuān)注于網(wǎng)站建設(shè)十載,網(wǎng)設(shè)計(jì)領(lǐng)域的專(zhuān)業(yè)建站公司;建站業(yè)務(wù)涵蓋:寶山等地區(qū)。寶山做網(wǎng)站價(jià)格咨詢(xún):028-86922220

與Redis3.x版本相比,DCS的Redis4.x以上版本,除了開(kāi)源Redis增加的特性之外,還有如下大特性增強(qiáng)。

l 創(chuàng)建耗時(shí)縮短

實(shí)例由虛機(jī)方式改成了物理機(jī)容器化部署,創(chuàng)建實(shí)例只需要8~10秒時(shí)間完成。

l 性能提升

高性能版Redis4.x,操作系統(tǒng)使用華為自研的輕量級(jí)LibOS,單節(jié)點(diǎn)QPS從10w提升到30w

l 節(jié)省成本

高性能版Redis4.x,實(shí)例規(guī)格以1G為步長(zhǎng),用多少G買(mǎi)多少G,靈活定制,不再受限2的n次方要求。

相比于之前的版本,華為云Redis4.x在性能方面有了不小的提升,大大提高了使用者的體驗(yàn),如果你想了解更加詳細(xì)的具體實(shí)操內(nèi)容,點(diǎn)這個(gè)鏈接

https://www.huaweicloud.com/product/dcs.html

給你更多驚喜。

接下來(lái)給大家介紹,開(kāi)源Redis4.0版本新功能的具體特性。

Redis4.x版本更新的特性,主要涉及三個(gè)方面:

新命令的增加,如MEMORY、SWAPDB。
Lazyfree機(jī)制,延遲刪除大key,降低刪除操作對(duì)系統(tǒng)資源的占用影響。
內(nèi)存性能優(yōu)化,即主動(dòng)碎片整理。
MEMORY命令

在Redis3.x及之前,只能通過(guò)info memory命令了解有限的幾個(gè)內(nèi)存統(tǒng)計(jì)信息。Redis4.0引入新的命令memory,讓您能夠更深入了解Redis的內(nèi)存使用情況。

127.0.0.1:6379[8]> memory help
1) MEMORY arg arg ... arg. Subcommands are:
2) DOCTOR - Return memory problems reports.
3) MALLOC-STATS -- Return internal statistics report from the memory allocator.
4) PURGE -- Attempt to purge dirty pages for reclamation by the allocator.
5) STATS -- Return information about the memory usage of the server.
6) USAGE [SAMPLES ] -- Return memory in bytes used by and its value. Nested values are sampled up to

times (default: 5).
127.0.0.1:6379[8]>
 

usage

輸入memory usage [key],如果當(dāng)前key存在,則返回key的value實(shí)際使用內(nèi)存估算值;如果key不存在,則返回nil。

127.0.0.1:6379[8]> set dcs "DCS is an online, distributed, in-memory cache service compatible with Redis, Memcached, and i
n-memory data grid (IMDG)."
OK
127.0.0.1:6379[8]> memory usage dcs
(integer) 171
127.0.0.1:6379[8]>
usage統(tǒng)計(jì)value內(nèi)存占用,以及key自身的內(nèi)存占用,不包含key的Expire內(nèi)存占用。

127.0.0.1:6379[8]> set dcs.huaweiclou "Distributed Cache Service"
OK
127.0.0.1:6379[8]> memory usage dcs.huaweiclou
(integer) 85
127.0.0.1:6379[8]> set dcs.huaweicloud "Distributed Cache Service"
OK
127.0.0.1:6379[8]> memory usage dcs.huaweicloud
(integer) 86 //key名稱(chēng)長(zhǎng)度變化后,內(nèi)存占用也有變化
127.0.0.1:6379[8]> expire dcs.huaweicloud 100000
(integer) 1
127.0.0.1:6379[8]> memory usage dcs.huaweicloud
(integer) 86 //加了過(guò)期時(shí)間后,內(nèi)存占用沒(méi)有改變
127.0.0.1:6379[8]>
 

對(duì)hash、list、set、sorted set等數(shù)據(jù)類(lèi)型,usage命令會(huì)抽樣統(tǒng)計(jì),提供內(nèi)存占用的估算值。

使用方式:memory usage keyset samples 1000

其中keyset表示一個(gè)集合數(shù)據(jù)類(lèi)型的key,1000表示抽樣個(gè)數(shù)。

stats

返回當(dāng)前實(shí)例內(nèi)存使用細(xì)節(jié)。

使用方法:memory stats

127.0.0.1:6379[8]> memory stats
1) "peak.allocated"
2) (integer) 2412408
3) "total.allocated"
4) (integer) 2084720
5) "startup.allocated"
6) (integer) 824928
7) "replication.backlog"
... ...

以下給出部分?jǐn)?shù)據(jù)返回項(xiàng)的具體含義

表1-1 memory stats

數(shù)據(jù)返回項(xiàng)

說(shuō)明

peak.allocated

Redis實(shí)例運(yùn)行過(guò)程中,allocator分配的內(nèi)存峰值。同info memory的used_memory_peak

total.allocated

allocator當(dāng)前分配的內(nèi)存字節(jié)數(shù)。同info memory的used_memory

startup.allocated

Redis啟動(dòng)占用的內(nèi)存字節(jié)數(shù)

replication.backlog

Redis復(fù)制積壓緩沖區(qū)(replication backlog)內(nèi)存使用字節(jié)數(shù),通過(guò)repl-backlog-size參數(shù)設(shè)置,默認(rèn)1M

clients.slaves

在master側(cè),所有slave clients消耗的內(nèi)存字節(jié)數(shù)

clients.normal

Redis所有常規(guī)客戶(hù)端消耗內(nèi)存節(jié)字?jǐn)?shù)

overhead.total

Redis額外的總開(kāi)銷(xiāo)內(nèi)存字節(jié)數(shù); 即分配器分配的總內(nèi)存total.allocated,減去數(shù)據(jù)實(shí)際存儲(chǔ)使用內(nèi)存。

keys.count

Redis實(shí)例中key的數(shù)量

keys.bytes-per-key

每個(gè)key平均占用字節(jié)數(shù)。注意,overhead也會(huì)均攤到每個(gè)key上,因此不能以此值來(lái)表示業(yè)務(wù)實(shí)際的key平均長(zhǎng)度。

dataset.bytes

表示Redis數(shù)據(jù)占用的內(nèi)存容量。即分配的內(nèi)存總量,減去總的額外開(kāi)銷(xiāo)內(nèi)存量。

dataset.percentage

表示Redis數(shù)據(jù)占用內(nèi)存占總內(nèi)存分配的百分比

peak.percentage

當(dāng)前內(nèi)存使用量與峰值時(shí)的占比

fragmentation

表示Redis的內(nèi)存碎片率

doctor

使用方法: memory doctor

used_memory(total.allocated)小于5M,doctor認(rèn)為內(nèi)存使用量過(guò)小,不做進(jìn)一步診斷。當(dāng)滿(mǎn)足以下某一點(diǎn),Redis會(huì)給出診斷結(jié)果和建議:

peak分配內(nèi)存大于當(dāng)前total_allocated的1.5倍,即peak.allocated/total.allocated > 1.5,說(shuō)明內(nèi)存碎片率高,RSS遠(yuǎn)大于used_memory
High fragmentation/fragmentation大于1.4,說(shuō)明內(nèi)存碎片率高
每個(gè)Normal Client平均使用內(nèi)存大于200KB,說(shuō)明pipeline可能使用不當(dāng),或Pub/Sub客戶(hù)端處理消息不及時(shí)
每個(gè)Slave Client平均使用內(nèi)存大于10MB,說(shuō)明master的寫(xiě)入流量過(guò)高
purge

使用方法: memory purge

用途:通過(guò)調(diào)用jemalloc內(nèi)部命令,進(jìn)行內(nèi)存釋放。釋放對(duì)象包括Redis進(jìn)程占用但未有效使用的內(nèi)存,即常說(shuō)的內(nèi)存碎片。

memory purge只適用于使用jemalloc作為allocator的Redis實(shí)例。

Lazy free機(jī)制

解決的痛點(diǎn)/問(wèn)題

Redis是單線(xiàn)程程序,當(dāng)運(yùn)行一個(gè)耗時(shí)較大的請(qǐng)求時(shí),會(huì)導(dǎo)致所有請(qǐng)求排隊(duì)等待,在請(qǐng)求處理完成前,Redis不能響應(yīng)其他請(qǐng)求,因此容易引發(fā)性能問(wèn)題。而Redis刪除大的集合鍵時(shí),就屬于一種比較耗時(shí)的請(qǐng)求。

原理

Redis4.x提供的一種惰性刪除或者說(shuō)延遲釋放機(jī)制,主要用于解決刪除大key對(duì)Redis進(jìn)程的阻塞,從而避免帶來(lái)性能與可用性問(wèn)題。

刪除key時(shí),Redis異步延時(shí)釋放key的內(nèi)存,把key釋放操作放在bio(Background I/O)單獨(dú)的子線(xiàn)程處理中。

使用方法

主動(dòng)刪除
? unlink

unlink與del命令目的一樣,刪除某個(gè)key。unlink在刪除集合類(lèi)鍵時(shí),如果集合鍵的元素個(gè)數(shù)大于64個(gè),會(huì)把內(nèi)存釋放操作,給單獨(dú)的bio(Background I/O)線(xiàn)程來(lái)執(zhí)行。因此unlink刪除操作能在非常短的時(shí)間內(nèi)完成包含上百萬(wàn)個(gè)元素的大key刪除。

? flushall/flushdb

通過(guò)對(duì)flushall/flushdb添加ASYNC異步清理選項(xiàng),Redis在清理整個(gè)實(shí)例或單個(gè)DB時(shí),操作都是異步的。

過(guò)期key刪除、大key驅(qū)逐刪除
被動(dòng)刪除有四種場(chǎng)景,每種場(chǎng)景對(duì)應(yīng)一個(gè)配置參數(shù),默認(rèn)都是關(guān)閉:

lazyfree-lazy-eviction no //針對(duì)redis內(nèi)存使用達(dá)到maxmeory,并設(shè)置有淘汰策略時(shí),是否采用lazy free機(jī)制
lazyfree-lazy-expire no //針對(duì)設(shè)置有TTL的鍵,達(dá)到過(guò)期后,被redis清理刪除時(shí)是否采用lazy free機(jī)制
lazyfree-lazy-server-del no //針對(duì)有些指令在處理已存在的鍵時(shí),會(huì)帶有一個(gè)隱式的DEL鍵的操作
slave-lazy-flush no //針對(duì)slave進(jìn)行全量數(shù)據(jù)同步,slave在加載master的RDB文件前,會(huì)運(yùn)行flushall來(lái)清理自己的數(shù)據(jù)場(chǎng)景

以上配置如需使用,請(qǐng)?zhí)峁巫稍?xún)技術(shù)服務(wù)人員。

其他新增命令

swapdb

用途:交換同一Redis實(shí)例內(nèi)2個(gè)db的數(shù)據(jù)。

用法:swapdb dbindex1 dbindex2

zlexcount

用途:在有序集合中,返回符合條件的元素個(gè)數(shù)。

用法:zlexcount key min max

內(nèi)存使用和性能改進(jìn)

使用更少的內(nèi)存來(lái)存儲(chǔ)相同數(shù)量的數(shù)據(jù)
可以對(duì)使用的內(nèi)存進(jìn)行碎片整理,并逐漸回收

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線(xiàn),公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性?xún)r(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專(zhuān)為企業(yè)上云打造定制,能夠滿(mǎn)足用戶(hù)豐富、多元化的應(yīng)用場(chǎng)景需求。


本文標(biāo)題:Redis4.0支持的新功能說(shuō)明-創(chuàng)新互聯(lián)
標(biāo)題URL:http://weahome.cn/article/dhphpe.html

其他資訊

在線(xiàn)咨詢(xún)

微信咨詢(xún)

電話(huà)咨詢(xún)

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部