redis安裝

一、redis安裝配置

  1. 下載安裝包
cd /usr/local/src
wget http://download.redis.io/releases/redis-3.2.9.tar.gz

  1. 解壓
tar -xf redis-3.2.9.tar.gz

  1. 編譯安裝到 /usr/local/redis
mkdir -p /usr/local/redis
cd redis-3.2.9
make PREFIX=/usr/local/redis install

  1. 修改配置文件
#將源碼目錄的 redis.conf 復制到安裝目錄下
cp /usr/local/src/redis-3.2.9/redis.conf /usr/local/redis/

  1. 生成系統(tǒng)服務(wù)(可選)
#將源碼目錄的 utils/redis_init_script 復制到/etc/init.d
cp /usr/local/src/redis-3.2.9/utils/redis_init_script /etc/init.d/redis

修改reids文件如下

#!/bin/sh
#
# Simple Redis init.d script conceived to work on Linux systems
# as it does use of the /proc filesystem.

REDISPORT=6379
EXEC=/usr/local/redis/bin/redis-server
CLIEXEC=/usr/local/redis/bin/redis-cli

PIDFILE=/var/run/redis.pid
CONF="/usr/local/redis/redis.conf"

case "$1" in
    start)
        if [ -f $PIDFILE ]
        then
                echo "$PIDFILE exists, process is already running or crashed"
        else
                echo "Starting Redis server..."
                $EXEC $CONF
        fi
        ;;
    stop)
        if [ ! -f $PIDFILE ]
        then
                echo "$PIDFILE does not exist, process is not running"
        else
                PID=$(cat $PIDFILE)
                echo "Stopping ..."
                $CLIEXEC -p $REDISPORT shutdown
                while [ -x /proc/${PID} ]
                do
                    echo "Waiting for Redis to shutdown ..."
                    sleep 1
                done
                echo "Redis stopped"
        fi
        ;;
    *)
        echo "Please use start or stop as first argument"
        ;;
esac

  1. 添加系統(tǒng)環(huán)境變量
vi /etc/profile

在最后行追加:

export PATH=$PATH:/usr/loca/redis/bin

使修改立即生效:

source /etc/profile

二明刷、redis操作

  1. redis命令啟動
#啟動
./redis-server redis.conf

#退出redis操作界面
exit

#停止
./redis-cli [-a password] shutdown

  1. redis service 啟動
#啟動服務(wù)
service start
#停止服務(wù)
service stop
  1. redis.conf配置文件
daemonize yes  #---默認值no飒炎,該參數(shù)用于定制redis服務(wù)是否以守護模式運行陨献。---
pidfile /usr/local/webserver/redis/run/redis.pid  #默認值/var/run/redis.pid,指定redis服務(wù)的進程號文件路徑,以守護模式運行時需要配置本參數(shù)慕趴;
port 6379   #默認值6379,指定redis服務(wù)的端口
# bind 127.0.0.1  #綁定ip鄙陡,默認是本機所有網(wǎng)絡(luò)設(shè)備冕房;
timeout 0   #客戶端空閑n秒后斷開連接;默認是 0 表示不斷開趁矾。
loglevel notice  ###設(shè)置服務(wù)端的日志級別耙册,有下列幾種選擇:
    debug:記錄詳細信息,用于開發(fā)或調(diào)試毫捣;
    verbose:提供很多有用的信息详拙,但是又不像debug那么詳盡,默認就是這一選項蔓同;
    notice:適度提醒饶辙,多用于產(chǎn)品環(huán)境;
    warning:僅顯示重要的警告信息斑粱;
logfile stdout   ##指定日志的輸出路徑弃揽,默認值stdout,表示輸出到屏幕则北,守護模式時則輸出到/dev/null矿微;
如果要輸出日志到syslog中,可以啟動syslog-enabled yes咒锻,默認該選項值為no冷冗。
# syslog-enabled no
databases 16   ###指定數(shù)據(jù)庫的數(shù)量,默認為16個惑艇,默認使用的數(shù)據(jù)庫是DB 0蒿辙。
----以下為快照相關(guān)的設(shè)置:------
#   save <seconds> <changes>  ##指定多長時間刷新快照至磁盤拇泛,這個選項有兩個屬性值,只有當兩個屬性值均滿足時才會觸發(fā)思灌;可以設(shè)置多種級別俺叭,例如默認的參數(shù)文件中就設(shè)置了:
save 900 1:每900秒(15分鐘)至少一次鍵值變更時被觸發(fā);
save 300 10:每300秒(5分鐘)至少10次鍵值變更時被觸發(fā)泰偿;
save 60 10000:每60秒至少10000次鍵值變更時被觸發(fā)熄守;
save 900 1
save 300 10
save 60 10000
rdbcompression yes  ##默認值yes,當dump數(shù)據(jù)庫時使用LZF壓縮字符串對象耗跛,如果CPU資源比較緊張裕照,可以設(shè)置為no,選擇不壓縮调塌;
rdbchecksum yes
# The filename where to dump the DB  數(shù)據(jù)庫文件名
dbfilename dump.rdb  ##默認值dump.rdb晋南,dump到文件系統(tǒng)中的文件名
dir /usr/local/webserver/redis/db  ##默認值./,即當前目錄羔砾,dump出的數(shù)據(jù)文件的存儲路徑负间;
----以下為復制相關(guān)的設(shè)置,復制默認是不啟用的姜凄,因此在默認的參數(shù)文件下列表參數(shù)均被注釋----
# slaveof <masterip> <masterport>  ##指定主端ip和端口政溃,用于創(chuàng)建一個鏡像服務(wù)
# masterauth <master-password>  ##如果master配置了密碼的話,此處也需做設(shè)置态秧;
slave-serve-stale-data yes  ##默認值yes董虱。當slave丟失與master端的連接,或者復制仍在處理屿聋,那么slave會有下列兩種表現(xiàn):
當本參數(shù)值為yes時空扎,slave為繼續(xù)響應客戶端請求,盡管數(shù)據(jù)已不同步甚至沒有數(shù)據(jù)(出現(xiàn)在初次同步的情況下)润讥;
當本參數(shù)值為no時转锈,slave會返回"SYNC with master in progreee"的錯誤信息;
slave-read-only yes  ##默認從Redis是只讀模式
# repl-ping-slave-period 10  ###默認值10楚殿,指定slave定期ping master的周期撮慨;
# repl-timeout 60  ##默認值60,指定超時時間脆粥。注意本參數(shù)包括批量傳輸數(shù)據(jù)和ping響應的時間砌溺。
------以下為安全相關(guān)的設(shè)置------
# requirepass foobared  ###指定一個密碼,客戶端連接時也需要通過密碼才能成功連接变隔;
# rename-command CONFIG b840fc02d524045429941cc15f59e41cb7be6c52  ###重定義命令规伐,例如將CONFIG命令更名為一個很復雜的名字:
# rename-command CONFIG ""  取消這個命令;
-----以下為資源限制方面的設(shè)置------
# maxclients 10000  ##指定客戶端的最大并發(fā)連接數(shù)匣缘,默認是沒有限制猖闪,直到redis無法創(chuàng)建新的進程為止鲜棠,設(shè)置該參數(shù)值為0也表示不限制,如果該參數(shù)指定了值培慌,當并發(fā)連接達到指定值時豁陆,redis會關(guān)閉所有新連接,并返回'max number of clients reached'的錯誤信息吵护;
# maxmemory <bytes>  ###設(shè)置redis最大可使用內(nèi)存盒音。當達到最大內(nèi)存后,redis會嘗試按照設(shè)置的回收策略刪除鍵值馅而。如果無法刪除鍵值祥诽,或者保留策略設(shè)置為不清除,那么redis就會向發(fā)出內(nèi)存的請求返回錯誤信息用爪。當把redis做為一級LRU的緩存時本參數(shù)較為有用原押。
# maxmemory-policy volatile-lru  ###默認值volatile-lru,指定清除策略偎血,有下列幾種方法:
volatile-lru -> remove the key with an expire set using an LRU algorithm
allkeys-lru -> remove any key accordingly to the LRU algorithm
volatile-random -> remove a random key with an expire set
allkeys->random -> remove a random key, any key
volatile-ttl -> remove the key with the nearest expire time (minor TTL)
noeviction -> don't expire at all, just return an error on write operations
# maxmemory-samples 3    ###默認值3,LRU和最小TTL策略并非嚴謹?shù)牟呗远⑵谴蠹s估算的方式颇玷,因此可以選擇取樣值以便檢查。
-----以下為APPEND的配置----
ONLY模式的設(shè)置就缆,默認情況下redis采用異步方式dump數(shù)據(jù)到磁盤上帖渠,極端情況下這可能會導致丟失部分數(shù)據(jù)(比如服務(wù)器突然宕機),如果數(shù)據(jù)比較重要竭宰,不希望丟失空郊,可以啟用直寫的模式,這種模式下redis會將所有接收到的寫操作同步到appendonly.aof文件中切揭,該文件會在redis服務(wù)啟動時在內(nèi)存中重建所有數(shù)據(jù)狞甚。注意這種模式對性能影響非常之大。
appendonly no  ##默認值no廓旬,指定是否啟用直寫模式哼审;
# appendfilename appendonly.aof  ###直寫模式的默認文件名appendonly.aof
appendfsync:調(diào)用fsync()方式讓操作系統(tǒng)寫數(shù)據(jù)到磁盤上,數(shù)據(jù)同步方式孕豹,有下列幾種模式:
    always:每次都調(diào)用涩盾,比如安全,但速度最慢励背;
    everysec:每秒同步春霍,這也是默認方式;
    no:不調(diào)用fsync叶眉,由操作系統(tǒng)決定何時同步址儒,比如快的模式芹枷;
    no-appendfsync-on-rewrite:默認值no。當AOF fsync策略設(shè)置為always或everysec离福,后臺保存進程會執(zhí)行大量的I/O操作杖狼。某些linux配置下redis可能會阻塞過多的fsync()調(diào)用。
    auto-aof-rewrite-percentage:默認值100
    auto-aof-rewrite-min-size:默認值64mb
# appendfsync always
appendfsync everysec
# appendfsync no
-----以下為高級配置相關(guān)的設(shè)置----
hash-max-zipmap-entries:默認值512妖爷,當某個map的元素個數(shù)達到最大值蝶涩,但是其中最大元素的長度沒有達到設(shè)定閥值時,其HASH的編碼采用一種特殊的方式(更有效利用內(nèi)存)絮识。本參數(shù)與下面的參數(shù)組合使用來設(shè)置這兩項閥值绿聘。設(shè)置元素個數(shù);
hash-max-zipmap-value:默認值64次舌,設(shè)置map中元素的值的最大長度熄攘;這兩個
list-max-ziplist-entries:默認值512,與hash類似彼念,滿足條件的list數(shù)組也會采用特殊的方式以節(jié)省空間挪圾。
list-max-ziplist-value:默認值64
set-max-intset-entries:默認值512,當set類型中的數(shù)據(jù)都是數(shù)值類型逐沙,并且set中整型元素的數(shù)量不超過指定值時哲思,使用特殊的編碼方式。
zset-max-ziplist-entries:默認值128吩案,與hash和list類似棚赔。
zset-max-ziplist-value:默認值64
activerehashing:默認值yes,用來控制是否自動重建hash徘郭。Active rehashing每100微秒使用1微秒cpu時間排序靠益,以重組Redis的hash表。重建是通過一種lazy方式残揉,寫入hash表的操作越多胧后,需要執(zhí)行rehashing的步驟也越多,如果服務(wù)器當前空閑冲甘,那么rehashing操作會一直執(zhí)行绩卤。如果對實時性要求較高,難以接受redis時不時出現(xiàn)的2微秒的延遲江醇,則可以設(shè)置activerehashing為no濒憋,否則建議設(shè)置為yes,以節(jié)省內(nèi)存空間陶夜。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末凛驮,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子条辟,更是在濱河造成了極大的恐慌黔夭,老刑警劉巖宏胯,帶你破解...
    沈念sama閱讀 217,907評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異本姥,居然都是意外死亡肩袍,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,987評論 3 395
  • 文/潘曉璐 我一進店門婚惫,熙熙樓的掌柜王于貴愁眉苦臉地迎上來氛赐,“玉大人,你說我怎么就攤上這事先舷〖韫埽” “怎么了?”我有些...
    開封第一講書人閱讀 164,298評論 0 354
  • 文/不壞的土叔 我叫張陵蒋川,是天一觀的道長牲芋。 經(jīng)常有香客問我,道長捺球,這世上最難降的妖魔是什么缸浦? 我笑而不...
    開封第一講書人閱讀 58,586評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮氮兵,結(jié)果婚禮上餐济,老公的妹妹穿的比我還像新娘。我一直安慰自己胆剧,他們只是感情好,可當我...
    茶點故事閱讀 67,633評論 6 392
  • 文/花漫 我一把揭開白布醉冤。 她就那樣靜靜地躺著秩霍,像睡著了一般。 火紅的嫁衣襯著肌膚如雪蚁阳。 梳的紋絲不亂的頭發(fā)上铃绒,一...
    開封第一講書人閱讀 51,488評論 1 302
  • 那天,我揣著相機與錄音螺捐,去河邊找鬼颠悬。 笑死,一個胖子當著我的面吹牛定血,可吹牛的內(nèi)容都是我干的赔癌。 我是一名探鬼主播,決...
    沈念sama閱讀 40,275評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼澜沟,長吁一口氣:“原來是場噩夢啊……” “哼灾票!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起茫虽,我...
    開封第一講書人閱讀 39,176評論 0 276
  • 序言:老撾萬榮一對情侶失蹤刊苍,失蹤者是張志新(化名)和其女友劉穎既们,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體正什,經(jīng)...
    沈念sama閱讀 45,619評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡啥纸,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,819評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了婴氮。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片斯棒。...
    茶點故事閱讀 39,932評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖莹妒,靈堂內(nèi)的尸體忽然破棺而出名船,到底是詐尸還是另有隱情,我是刑警寧澤旨怠,帶...
    沈念sama閱讀 35,655評論 5 346
  • 正文 年R本政府宣布渠驼,位于F島的核電站,受9級特大地震影響鉴腻,放射性物質(zhì)發(fā)生泄漏迷扇。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,265評論 3 329
  • 文/蒙蒙 一爽哎、第九天 我趴在偏房一處隱蔽的房頂上張望蜓席。 院中可真熱鬧,春花似錦课锌、人聲如沸厨内。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,871評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽雏胃。三九已至,卻和暖如春志鞍,著一層夾襖步出監(jiān)牢的瞬間瞭亮,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,994評論 1 269
  • 我被黑心中介騙來泰國打工固棚, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留统翩,地道東北人。 一個月前我還...
    沈念sama閱讀 48,095評論 3 370
  • 正文 我出身青樓此洲,卻偏偏與公主長得像厂汗,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子黍翎,可洞房花燭夜當晚...
    茶點故事閱讀 44,884評論 2 354

推薦閱讀更多精彩內(nèi)容

  • 1 Redis介紹1.1 什么是NoSql為了解決高并發(fā)、高可擴展趟紊、高可用氮双、大數(shù)據(jù)存儲問題而產(chǎn)生的數(shù)據(jù)庫解決方...
    克魯?shù)吕?/span>閱讀 5,291評論 0 36
  • ->點擊訪問個人博客地址,相互交流學習<- Redis 簡介 Redis 是完全開源免費的霎匈,遵守BSD協(xié)議戴差,是一個...
    JackHCC閱讀 1,447評論 1 2
  • 簡介 Redis 是完全開源免費的,遵守BSD協(xié)議铛嘱,是一個高性能的key-value數(shù)據(jù)庫暖释。 Redis 與其他 ...
    趙客縵胡纓v吳鉤霜雪明閱讀 582評論 0 5
  • Redis是一個開源的使用ANSI C語言編寫、支持網(wǎng)絡(luò)墨吓、可基于內(nèi)存亦可持久化的日志型球匕、Key-Value數(shù)據(jù)庫,...
    凌亂秋天閱讀 2,978評論 0 0
  • 安裝 redis(注:以下是基于 linux 系統(tǒng)) 進入源碼目錄(注:一般將下載的源碼文件統(tǒng)一放在這個目錄下帖烘,當...
    ccw1078閱讀 1,940評論 1 7