Redis編譯安裝
阿新 • • 發佈:2020-08-24
參考:https://www.runoob.com/redis/redis-tutorial.html
一、Redis簡介
REmote DIctionary Server(Redis) 是一個由Salvatore Sanfilippo寫的key-value儲存系統。
Redis是一個開源的使用ANSI C語言編寫、遵守BSD協議、支援網路、可基於記憶體亦可持久化的日誌型、Key-Value資料庫,並提供多種語言的API。
它通常被稱為資料結構伺服器,因為值(value)可以是 字串(String), 雜湊(Hash), 列表(list), 集合(sets) 和 有序集合(sorted sets)等型別。
Redis 與其他 key - value 快取產品有以下三個特點:
- Redis支援資料的持久化,可以將記憶體中的資料儲存在磁碟中,重啟的時候可以再次載入進行使用。
- Redis不僅僅支援簡單的key-value型別的資料,同時還提供list,set,zset,hash等資料結構的儲存。
- Redis支援資料的備份,即master-slave模式的資料備份。
二、Redis安裝
下載地址:http://redis.io/download,下載版本 redis-3.2.9.tar.gz
1、安裝
[root@redis01 ~]# yum install -y gcc [root@redis01 ~]# tar xf redis-3.2.9.tar.gz [root@redis01 ~]# cd redis-3.2.9/ [root@redis01 redis-3.2.9]# make [root@redis01 redis-3.2.9]# make PREFIX=/usr/local/redis install [root@redis01 ~]# ls /usr/local/redis/ bin
2、命令介紹
redis-server 啟動redis服務 redis-cli redis客戶端工具 redis-benchmark redis效能測試 redis-check-rdb 檢測rdb檔案 redis-check-aof 檢測aof日誌檔案
3、啟動
[root@redis01 ~]# mkdir /usr/local/redis/conf [root@redis01 ~]# cd redis-3.2.9/ [root@redis01 redis-3.2.9]# cp redis.conf /usr/local/redis/conf/ [root@redis01 ~]# /usr/local/redis/bin/redis-server /usr/local/redis/conf/redis.conf & [root@redis01 ~]# ss -antp | grep :6379 LISTEN 0 128 127.0.0.1:6379 *:* users:(("redis-server",pid=9612,fd=4))
啟動服務時核心引數說明: 1、/proc/sys/net/core/somaxconn 定義了系統中每一個埠最大的監聽佇列的長度,預設為128. 對於大多數需要處理高併發連線的應用來說,該值太小,建議修改為1024或者更大 2、overcommit_memory 規定決定是否接受超大記憶體請求的條件。這個引數有三個可能的值: 0 — 預設設定。核心執行啟發式記憶體過量使用處理,方法是估算可用記憶體量,並拒絕明顯無效的請求。遺憾的是因為記憶體是使用啟發式而非準確演算法計算進行部署,這個設定有時可能會造成系統中的可用記憶體超載。 1 — 核心執行無記憶體過量使用處理。使用這個設定會增大記憶體超載的可能性,但也可以增強大量使用記憶體任務的效能。 2 — 記憶體拒絕等於或者大於總可用 swap 大小以及 overcommit_ratio 指定的物理 RAM 比例的記憶體請求。如果您希望減小記憶體過度使用的風險,這個設定就是最好的。 3、/sys/kernel/mm/transparent_hugepage/enabled 禁止使用huge page
4、配置
配置檔案:/usr/local/redis/conf/redis.conf
1、指定額外的配置檔案 # include /path/to/local.conf # include /path/to/other.conf 2、設定redis監聽的IP地址 bind 192.168.122.101 3、設定redis程序接收的TCP佇列長度 tcp-backlog 511 同時修改核心引數/proc/sys/net/core/somaxconn 4、設定客戶端空閒連線超時時間, 0表示不設定 timeout 0 5、設定redis啟動時作為後臺服務執行 daemonize yes 6、指定pid檔案 pidfile /var/run/redis_6379.pid 7、設定日誌級別及日誌檔案 loglevel notice logfile "" 8、設定資料庫的數量 0--15 databases 16 9、設定redis儲存資料的頻率 save 900 1 save 300 10 save 60 10000 redis儲存資料的方式: save, 會阻塞(block)客戶端連線請求 bgsave 10、當bgsave發生error時,停止寫操作 stop-writes-on-bgsave-error yes 11、啟用壓縮 rdbcompression yes 12、設定rdb資料檔名稱及存放目錄 dbfilename dump.rdb dir /usr/local/redis/data 13、設定併發連線 maxclients 10000 14、設定redis最大使用的記憶體 # maxmemory <bytes> //建議為實體記憶體的3/5 15、啟用redis aof功能 appendonly yes appendfilename "appendonly.aof"