五月婷婷丁香性爱|j久久一级免费片|久久美女福利视频|中文观看在线观看|加勒比四区三区二|亚洲裸女视频网站|超碰97AV在线69网站免费观看|有码在线免费视频|久久青青日本视频|亚洲国产AAAA

為什么要使用Redis

緩存Redis基本是現(xiàn)在軟件開(kāi)發(fā)的必備條件:

1、從業(yè)務(wù)上說(shuō)可以加快數(shù)據(jù)的顯示提高用戶體驗(yàn)。

2、從架構(gòu)上講可以存儲(chǔ)臨時(shí)數(shù)據(jù)及給數(shù)據(jù)庫(kù)分壓提高系統(tǒng)的吞吐量。

所以目前的軟件開(kāi)發(fā)中,幾乎都會(huì)涉及到Redis的使用。

使用分布式緩存Redis如何加速應(yīng)用訪問(wèn)

Redis的應(yīng)用數(shù)據(jù)加速訪問(wèn)場(chǎng)景非常廣泛。雖然Redis是一個(gè)key-value的內(nèi)存數(shù)據(jù)庫(kù),但在實(shí)際場(chǎng)景中,Redis經(jīng)常被作為緩存來(lái)使用,如面對(duì)數(shù)據(jù)高并發(fā)的讀寫(xiě)、海量數(shù)據(jù)的讀寫(xiě)等。 

舉個(gè)例子,A網(wǎng)站首頁(yè)一天有100萬(wàn)人訪問(wèn),其中有一個(gè)“積分商城”的板塊,要直接從數(shù)據(jù)庫(kù)查詢,那么一天就要多消耗100萬(wàn)次數(shù)據(jù)庫(kù)請(qǐng)求。如果將這些數(shù)據(jù)儲(chǔ)存到Redis(內(nèi)存)中,要用的時(shí)候,直接從內(nèi)存調(diào)取,不僅可以大大節(jié)省系統(tǒng)直接讀取磁盤來(lái)獲得數(shù)據(jù)的IO開(kāi)銷,提高服務(wù)器的資源利用率,還能極大地提升速度。 

隨著日益增長(zhǎng)的用戶量以及業(yè)務(wù)高峰期劇增的訪問(wèn)量,通過(guò)擴(kuò)容一次資源就能夠解決問(wèn)題的方式已不再有顯著成效,并且運(yùn)維Redis也比之前更易出現(xiàn)差錯(cuò)。

而華為云分布式緩存Redis就很好地解決了自建Redis的一些問(wèn)題,應(yīng)用場(chǎng)景也十分豐富。比如很多大型電商網(wǎng)站、視頻網(wǎng)站和游戲應(yīng)用等,存在大規(guī)模數(shù)據(jù)訪問(wèn),對(duì)數(shù)據(jù)查詢效率要求高。

使用華為云分布式緩存Redis服務(wù)可實(shí)現(xiàn)頁(yè)面緩存、應(yīng)用緩存、狀態(tài)緩存、事件并行處理,能夠有效減少數(shù)據(jù)庫(kù)磁盤IO,提高數(shù)據(jù)查詢效率,減輕管理維護(hù)工作量,降低數(shù)據(jù)庫(kù)存儲(chǔ)成本。

對(duì)傳統(tǒng)磁盤數(shù)據(jù)庫(kù)是一個(gè)重要的補(bǔ)充,成為了互聯(lián)網(wǎng)應(yīng)用,尤其是支持高并發(fā)訪問(wèn)的互聯(lián)網(wǎng)應(yīng)用必不可少的基礎(chǔ)服務(wù)之一。

Redis使用規(guī)范建議

1、使用頻率高且變動(dòng)頻率低的數(shù)據(jù)建議使用Redis,這點(diǎn)很重要,也是基本是判斷標(biāo)準(zhǔn)

2、給RMDB數(shù)據(jù)庫(kù)減壓使用,這也是經(jīng)常使用的場(chǎng)景

2、使用過(guò)程中,建議以業(yè)務(wù)為維度進(jìn)行Redis中的db數(shù)據(jù)庫(kù)的使用規(guī)劃,緩存數(shù)據(jù)清晰的同時(shí)也給后期維護(hù)帶來(lái)方便,比如因業(yè)務(wù)需要清空某一業(yè)務(wù)的緩存數(shù)據(jù)時(shí),哪我們只需要清空該模塊對(duì)應(yīng)的db清空即可,并不影響其它緩存庫(kù),下面使用規(guī)范供參考

業(yè)務(wù)模塊名稱
數(shù)據(jù)庫(kù)編號(hào)
備注

模塊A

db 0

無(wú)

模塊B

db 1

無(wú)

模塊C

db 2

無(wú)

模塊*

db *

*

分布式緩存Redis常見(jiàn)問(wèn)題

分布式緩存Redis常見(jiàn)問(wèn)題

  • Redis集群實(shí)例是否支持原生集群?

    當(dāng)前DCS Redis 3.0版本支持Proxy集群,Redis 4.0和5.0版本支持原生集群、Proxy集群。


  • Redis默認(rèn)的數(shù)據(jù)逐出策略是什么?

    逐出指將數(shù)據(jù)從緩存中刪除,以騰出更多的存儲(chǔ)空間容納新的緩存數(shù)據(jù),詳情請(qǐng)參見(jiàn)官網(wǎng)逐出策略。當(dāng)前版本支持在配置運(yùn)行參數(shù)中修改逐出策略。

    Redis實(shí)例支持通過(guò)修改配置參數(shù)(maxmemory-policy),修改數(shù)據(jù)逐出策略。

    在達(dá)到內(nèi)存上限(maxmemory)時(shí),Redis支持選擇以下8種數(shù)據(jù)逐出策略:

    noeviction:在這種策略下,如果緩存達(dá)到了配置的上限,實(shí)例將不再處理客戶端任何增加緩存數(shù)據(jù)的請(qǐng)求,比如寫(xiě)命令,實(shí)例直接返回錯(cuò)誤給客戶端。緩存達(dá)到上限后,實(shí)例只處理刪除和少數(shù)幾個(gè)例外請(qǐng)求。

    allkeys-lru:根據(jù)LRU(Least recently used,最近最少使用)算法嘗試回收最少使用的鍵,使得新添加的數(shù)據(jù)有空間存放。

    volatile-lru:根據(jù)LRU(Least recently used,最近最少使用)算法嘗試回收最少使用的鍵,但僅限于在過(guò)期集合的鍵,使得新添加的數(shù)據(jù)有空間存放。

    allkeys-random:回收隨機(jī)的鍵使得新添加的數(shù)據(jù)有空間存放。

    volatile-random:回收隨機(jī)的鍵使得新添加的數(shù)據(jù)有空間存放,但僅限于在過(guò)期集合的鍵。

    volatile-ttl:回收在過(guò)期集合的鍵,并且優(yōu)先回收存活時(shí)間(TTL)較短的鍵,使得新添加的數(shù)據(jù)有空間存放。

    allkeys-lfu:從所有鍵中驅(qū)逐最不常用的鍵。

    volatile-lfu:從具有“expire”字段集的所有鍵中驅(qū)逐最不常用的鍵。

    說(shuō)明:當(dāng)沒(méi)有鍵滿足回收前提條件時(shí),數(shù)據(jù)逐出策略volatile-lru、volatile-random、volatile-ttl與noeviction策略相同,具體見(jiàn)上文noeviction介紹。

    2020年7月之前創(chuàng)建的Redis實(shí)例,逐出策略默認(rèn)為noeviction。2020年7月及之后創(chuàng)建的實(shí)例,逐出策略默認(rèn)為volatile-lru。


  • Redis的安全加固方面有哪些建議?

    在眾多開(kāi)源緩存技術(shù)中,Redis無(wú)疑是目前功能最為強(qiáng)大,應(yīng)用最多的緩存技術(shù)之一,但是原生Redis版本在安全方面非常薄弱,很多地方不滿足安全要求,如果暴露在公網(wǎng)上,極易受到惡意攻擊,導(dǎo)致數(shù)據(jù)泄露和丟失。

    針對(duì)DCS的Redis實(shí)例,您在使用過(guò)程中,可參考如下建議:

    網(wǎng)絡(luò)連接配置

    1、敏感數(shù)據(jù)加密后存儲(chǔ)在Redis實(shí)例,且實(shí)例不開(kāi)啟公網(wǎng)訪問(wèn)。

    對(duì)于敏感數(shù)據(jù),盡量加密后存儲(chǔ)。如無(wú)特殊需要,盡量不開(kāi)啟公網(wǎng)訪問(wèn)。

    2、對(duì)安全組設(shè)置有限、必須的允許訪問(wèn)規(guī)則。

    安全組與VPC均是用于網(wǎng)絡(luò)安全訪問(wèn)控制的配置,以端口最少放開(kāi)原則配置安全組規(guī)則,降低網(wǎng)絡(luò)入侵風(fēng)險(xiǎn)。

    3、客戶端應(yīng)用所在ECS設(shè)置防火墻??蛻舳藨?yīng)用所在的服務(wù)器建議配置防火墻過(guò)濾規(guī)則。

    4、設(shè)置實(shí)例訪問(wèn)密碼。

    5、配置實(shí)例白名單。

    Redis-cli使用

    1、隱藏密碼

    安全問(wèn)題:通過(guò)在redis-cli指定-a參數(shù),密碼會(huì)被ps出來(lái),屬于敏感信息。

    解決方案:修改Redis源碼,在main方法進(jìn)入后,立即隱藏掉密碼,避免被ps出來(lái)。

    2、禁用腳本通過(guò)sudo方式執(zhí)行

    安全問(wèn)題: redis-cli訪問(wèn)參數(shù)帶密碼敏感信息,會(huì)被ps出來(lái),也容易被系統(tǒng)記錄操作日志。

    解決方案:改為通過(guò)API方式(Python可以使用redis-py)來(lái)安全訪問(wèn),禁止通過(guò)sudo方式切換到dbuser帳號(hào)使用redis-cli。


  • 實(shí)例是否支持自定義或修改端口?

    如果是Redis 3.0實(shí)例和Memcached實(shí)例,訪問(wèn)端口固定為以下端口,不支持指定端口,也不支持修改;如果是Redis 4.0/5.0/6.0實(shí)例,支持自定義端口,同時(shí)也支持修改端口。