<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                [TOC] > [參考](https://mp.weixin.qq.com/s/JVTtowoqsIixiaK8WL7wgQ?utm_source=tuicool&utm_medium=referral) ## 概述 1. 縮短鍵值對的存儲長度; 2. 使用 lazy free(延遲刪除)特性; 3. 設置鍵值的過期時間; 4. 禁用長耗時的查詢命令; 5. 使用 slowlog 優化耗時命令; 6. 使用 Pipeline 批量操作數據; 7. 避免大量數據同時失效; 8. 客戶端使用優化; 9. 限制 Redis 內存大小; 10. 使用物理機而非虛擬機安裝 Redis 服務; 11. 檢查數據持久化策略; 12. 禁用 THP 特性; ### lazy free lazy free 特性是 Redis 4.0 新增的一個非常使用的功能,它可以理解為惰性刪除或延遲刪除,在刪除的時候提供異步延時釋放鍵值的功能 ``` lazyfree-lazy-eviction no lazyfree-lazy-expire no lazyfree-lazy-server-del no slave-lazy-flush no ``` * lazyfree-lazy-eviction:表示當 Redis 運行內存超過 maxmeory 時,是否開啟 lazy free 機制刪除; * lazyfree-lazy-expire:表示設置了過期時間的鍵值,當過期之后是否開啟 lazy free 機制刪除; * lazyfree-lazy-server-del:有些指令在處理已存在的鍵時,會帶有一個隱式的 del 鍵的操作,比如 rename 命令,當目標鍵已存在,Redis 會先刪除目標鍵,如果這些目標鍵是一個 big key,就會造成阻塞刪除的問題,此配置表示在這種場景中是否開啟 lazy free 機制刪除; * slave-lazy-flush:針對 slave(從節點) 進行全量數據同步,slave 在加載 master 的 RDB 文件前,會運行 flushall 來清理自己的數據,它表示此時是否開啟 lazy free 機制刪除。 建議開啟 1,2,3 的配置 ### 禁用長耗時的查詢命令 * 決定禁止使用 keys 命令; * 避免一次查詢所有的成員,要使用 scan 命令進行分批的,游標式的遍歷; * 通過機制嚴格控制 Hash、Set、Sorted Set 等結構的數據大小; * 將排序、并集、交集等操作放在客戶端執行,以減少 Redis 服務器運行壓力; * 刪除 (del) 一個大數據的時候,可能會需要很長時間,所以建議用異步刪除的方式 unlink,它會啟動一個新的線程來刪除目標數據,而不阻塞 Redis 的主線程。 ### 使用 slowlog 優化耗時命令 在`redis.conf`中 * `slowlog-log-slower-than`?:用于設置慢查詢的評定時間,也就是說超過此配置項的命令,將會被當成慢操作記錄在慢查詢日志中,它執行單位是微秒 (1 秒等于 1000000 微秒); * `slowlog-max-len`?:用來配置慢查詢日志的最大記錄數。 通過 `slowlog get n` 獲取慢查詢日志的條數 ### 限制 Redis 內存大小 在 64 位操作系統中 Redis 的內存大小是沒有限制的,也就是配置項?`maxmemory <bytes>`?是被注釋掉的,這樣就會導致在物理內存不足時,使用 swap 空間既交換空間,而當操心系統將 Redis 所用的內存分頁移至 swap 空間時,將會阻塞 Redis 進程 ### 檢查數據持久化策略 在 Redis 4.0 之后,Redis 有 3 種持久化的方式: * RDB(Redis DataBase,快照方式)將某一個時刻的內存數據,以二進制的方式寫入磁盤; * AOF(Append Only File,文件追加方式),記錄所有的操作命令,并以文本的形式追加到文件中; * 混合持久化方式,Redis 4.0 之后新增的方式,混合持久化是結合了 RDB 和 AOF 的優點,在寫入的時候,先把當前的數據以 RDB 的形式寫入文件的開頭,再將后續的操作命令以 AOF 的格式存入文件,這樣既能保證 Redis 重啟時的速度,又能減低數據丟失的風險。 建議開啟混合模式 查詢是否開啟混合持久化可以使用?`config get aof-use-rdb-preamble`?命令 開啟 1. 命令行開啟 `config set aof-use-rdb-preamble yes` 2. 通過修改 Redis 配置文件開啟 `aof-use-rdb-preamble no -> aof-use-rdb-preamble yes` ### 使用分布式架構來增加讀寫速度 * 主從同步 * 哨兵模式 * Redis Cluster 集群 推薦 使用 `Redis Cluster 集群`
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看