原始碼編譯redis及解決三個開機告警問題

2022-04-29 16:03:10 字數 2380 閱讀 2901

[root@rs1src]#cd /usr/local/src

[root@rs1src]#wget redis-4.0.14.tar.gz

[root@rs1src]#tar -xvf redis-4.0.14.tar.gz
3、新建乙個目錄,並開始編譯到指定的目錄裡

4、檢視編譯後的檔案內容

5、將編譯的配置檔案存放在新建的etc目錄下

6、啟動redis服務,此時就會有三個警告,需要我們進行處理

7、開始處理三個警告問題

第乙個警告處理:backlog引數控制的是三次握手的時候 server 端收到 client ack 確認號之後 的佇列值 。

第二個警告處理:

0、表示核心將檢查是否有足夠的可用記憶體**用程序使用;如果有足夠的可用記憶體,記憶體申請允許;否則,記憶體申請失敗,並把錯誤返回給應用程序。

1、表示核心允許分配所有的物理記憶體,而不管當前的記憶體狀態如何。

2、表示核心允許分配超過所有物理記憶體和交換空間總和的記憶體

[[email protected]]#vim /etc/sysctl.conf  解決前兩個警告

net.core.somaxconn = 512

vm.overcommit_memory = 1

[[email protected]]#sysctl -p 將此配置檔案進行生效

net.core.somaxconn = 512

vm.overcommit_memory = 1

第三個警告處理:開啟大頁記憶體動態分配 ,需要關閉讓 redis 負責 記憶體管理,確保此配置檔案生效情況,可以進行重啟機器驗證。

需要執行此命令,並設定為開機啟動:echo never > /sys/kernel/mm/transparent_hugepage/enabled

[[email protected]]#vim  /etc/rc.d/rc.lcoal

echo never > /sys/kernel/mm/transparent_hugepage/enabled

[[email protected]]#chmod +x /etc/rc.d/rc.local 加上執行許可權

重啟機器後就沒有警告資訊:

8、配置基於systemd進行啟動redis服務指令碼

[root@rs1~]#vim  /usr/lib/systemd/system/redis.service

[util]

description=redis persistent key-value database

after=network.target

after=network online.target

wants=network online.target

[service]

execreload=/bin/kill -s hup $mainpid

execstop=/bin/kill -s quit $mainpid

type=notify

user=redis

group=redis

runtimedirectory=redis

runtimedirectorymode=0755

[install]

wantedby=multi-user.target

9 、建立乙個redis使用者,並將執行redis目錄的許可權(所有者和所屬組)改為redis

[root@rs1~]#useradd -s /sbin/nologin redis

[root@rs1~]#systemctl start redis 啟動redis服務,此用法不多

10、我們可以將redis目錄下可執行的程式全部軟鏈結到/usr/bin目錄,就可以直接執行redis-server命令。

[root@rs1~]#redis-server 啟動redis服務

此時,redis原始碼編譯完成!

Redis(三)跳躍表介紹及原始碼

查詢鍊錶的時間複雜度o n 即使該鍊錶的是有序的,但若我們在鍊錶上在加一層鏈,且每次跳過乙個節點 即進行一次二分 如下圖所示 若在l2鏈的基礎上增加一層鏈,在每次跳過l2上的乙個節點 即在l2鏈上進一步二分 那麼我便可以進一步增加搜尋速度,如下圖所示 此時查詢8只需在l3上搜尋2次,查詢7需要3次 ...

linux原始碼編譯安裝redis

系統環境 ubuntu 14.04.1 lts x64 tar xvf redis 3.0.0 rc1.tar.gz c usr local 進入到 usr local redis 3.0.0 rc1 目錄,執行 make 修改daemonize 改為 yes 使其能在後台執行服務 bind 改為 ...

Nginx原始碼編譯及安裝

1.nginx 介紹 nginx是 http 和反向 伺服器,郵件 伺服器,以及 igor sysoev 最初編寫的通用tcp udp 伺服器。在很長一段時間以來,它一直在許多負載重的俄羅斯 上執行,包括 yandex,mail.ru,vk 和 rambler。根據netcraft的說法,nginx...