CentOS編譯安裝Redis-5.0
CentOS編譯安裝Redis-5.0
redis的概述:
redis持久化快取服務還會週期性的把更新的資料寫入到磁碟以及修改的操作記錄追加到檔案記錄下來;
redis還支援master-slaver(主從)同步,類似於mysql的主從同步;
redis是開源的/使用C語言編寫,可基於記憶體可持久化的日誌性,並提供多種語言的API;
redis提供了python、ruby、erlang、php客戶端;
redis的特點:
key-value鍵值型別儲存;
支援資料可靠儲存及落地;
單程序單執行緒高效能伺服器;
crash safe & recovery slow;
單機 qps 可以達到10W;
適合小資料量告訴讀寫訪問;
redis的優點:
1、持久化
2、資料型別豐富
3、redis的所有操作都是原子性的
4、時間的通知,key過期
5、支援主從複製
redis的缺陷:
1、系統執行有毛刺
2、不同命令延遲差別極大
3、記憶體管理開銷大(設定redis不要使用記憶體的3/5)
4、buffer io造成系統OOM
redis的資料型別:
1、string字串
2、Hash雜湊表
3、List列表
4、Set 集合
5、Sorted set 有序集合
redis企業級應用場景:
MySQL加memcached網站架構的問題:
1、擴大和維護工作佔據大量開發時間;
2、一致性的問題;
3、memcached未命中或宕機,會導致大量的訪問直接穿透到資料庫;
4、跨機房cache同步及cache一致性問題;
redis最佳應用場景:
1、redis最佳試用場景是全部資料in-memory;
2、redis更多場景是memcached的替代品來試用;
3、資料比較重要,對資料一致性有一定的要求;
4、當需要除key-value之外更 多的資料型別支援時;
5、需要主從同步以及負載均衡分散式應用場景;
環境:
系統:CentOS-7.5
軟體:redis-5.0.2
IP地址:10.0.0.10
安裝編譯器:
yum -y install gcc
下載原始碼包:
wget http://download.redis.io/releases/redis-5.0.2.tar.gz
解壓:
tar zxf redis-5.0.2.tar.gz -C /usr/local/ && cd /usr/local/redis-5.0.2/
編譯:
#如果使用make報錯請使用:make MALLOC=libc && echo $?
make && echo $?
建立軟連線:
ln -s /usr/local/redis-5.0.2/src/redis-server /usr/sbin/
ln -s /usr/local/redis-5.0.2/src/redis-cli /usr/sbin/
配置6379例項:
mkdir -p /data/6379
#加入以下redis引數
vim /data/6379/redis.conf
#後臺執行
daemonize yes
#指定監聽埠
port 6379
#日誌檔案存放路徑
logfile /data/6379/redis.log
#指定監聽兩個IP地址
bind 10.0.0.10 127.0.0.1
#指定認證密碼為redhat
requirepass redhat
#持久化資料存放目錄
dir /data/6379
#RBD持久化資料檔案
dbfilename dump.rdb
啟動redis:
redis-server /data/6379/redis.conf
連線redis:
#'-a指定redis認證密碼,-h指定redis地址,-p指定redis埠
redis-cli -a redhat -h 10.0.0.10 -p 6379
10.0.0.10:6379>
關閉redis:
redis-cli -a redhat -h 10.0.0.10 -p 6379 shutdown