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

為什么要使用Redis

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

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

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

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

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

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

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

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

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

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

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

Redis使用規(guī)范建議

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

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

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

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

模塊A

db 0

模塊B

db 1

模塊C

db 2

模塊*

db *

*

分布式緩存Redis常見問題

分布式緩存Redis常見問題

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

    對于敏感數(shù)據(jù),盡量加密后存儲。如無特殊需要,盡量不開啟公網(wǎng)訪問。

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

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

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

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

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

    Redis-cli使用

    1、隱藏密碼

    安全問題:通過在redis-cli指定-a參數(shù),密碼會被ps出來,屬于敏感信息。

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

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

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

    解決方案:改為通過API方式(Python可以使用redis-py)來安全訪問,禁止通過sudo方式切換到dbuser帳號使用redis-cli。


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

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