一 Redis是什麼,有什麼優缺點,有哪些應用情境
Redis是一個基於記憶體的高效能的NoSQL資料庫,通過key-value的形式儲存資料,可以作為作為資料庫,緩衝系統和訊息中介軟體。
支援多種類型的資料結構,而且還可支援資料的持久化。
Redis,不是萬能的,有他自己的使用情境和適用範圍。
不適合的情境:
# 不太適合儲存大規模的資料。我們知道他是基於記憶體的,雖然現在記憶體已經很便宜了,但是,每天都有大量的資料,那麼也是吃不消的。
# 不太適合儲存冷資料,如果資料訪問的很少,或者操作的很少,那就是對記憶體的浪費。
適合的情境:
# 緩衝:如果只是作為緩衝使用,那麼他可以取代Memcached
# 計數器:全域統計技術,比如商品的瀏覽數,喜歡數等
# 電商網站中的抽獎,秒殺系統
# 訊息佇列
二 Redis的安裝
2.1 下載或者準備Redis源碼包
redis-4.0.1.tar.gz
2.2 安裝環境的檢查
檢查是否安裝gcc,gcc-c++,如果沒有安裝則安裝
yum install -y gcc gcc-c++
2.3 檢查是否存在環境變數MALLOC
如果存在,根據需要設定對應的值libc或者jemalloc或者其他(管理記憶體片段的)。如果沒有預設就是jemalloc。但是你機器如果沒有安裝
jemalloc,那麼需要先安裝。否則會報錯:
error: jemalloc/jemalloc.h: No such file ordirectory
安裝步驟:
# wget --no-check-certificatehttps://github.com/jemalloc/
jemalloc/releases/download/4.4.0/jemalloc-4.4.0.tar.bz2
# tar -jxf jemalloc-4.4.0.tar.bz2
# 如果沒有configure,則需要調用autogen.sh,產生configure;如果已經有了則執行:
./configure --prefix=/usr/local/jemalloc
# 編譯和安裝
make && make install
如果你不想使用jemalloc,那麼你有2兩個選擇:
第一:配置環境變數MALLOC=libc
第二:在redis make的時候加上參數MALLOC=libc
2.4 編譯安裝
make MALLOC=/usr/local/jemalloc/lib/ PREFIX=/opt/app/redis install
MALLOC=/usr/local/jemalloc/lib/ :指定MALLOC值,你也可以指定libc
PREFIX=/opt/app/redis install:安裝到哪兒去,即在哪個檔案下產生一個bin目錄,裡面放著編譯好的各種命令
預設會把這些命令存放在redis源碼包的src目錄下。
2.5 配置環境REDIS_HOME
# REDIS_HOME
export REDIS_HOME=/opt/app/redis
export PATH=$PATH:$REDIS_HOME/bin