Redis的一些總結(jié)


前記:好久沒回簡書了旺矾,最近學了redis,把一些總結(jié)的東西分享給大家夺克。


Redis是基于內(nèi)存的數(shù)據(jù)存儲系統(tǒng)箕宙,數(shù)據(jù)以key=>value形式存儲。value支持多種數(shù)據(jù)類型铺纽,包括string,hash,list,set,sorted set等等柬帕。

1.起步

安裝教程

啟動服務(wù)端: redis-server

啟動客戶端: redis-cli

驗證是否成功:

127.0.0.1:6379> PING
PONG
127.0.0.1:6379>

學習教程

2.配置文件 redis.conf

CONFIG GET * //查看所有配置
  • daemonize: 默認為no,yes則為啟動redis-server時自動是后臺運行方式

  • port: 指定端口號

  • bind: 綁定ip狡门,只接受來自綁定ip的請求陷寝,更安全

3.redis 數(shù)據(jù)持久化

RDB原理:

  • Redis使用fork函數(shù)復制一份當前進程(父) 的副本(子)
  • 父進程繼續(xù)接收并處理客戶端發(fā)來的命令,而子進程開始將內(nèi)存中的數(shù)據(jù)寫入硬盤中的臨時文件
  • 當子進程寫入完所有數(shù)據(jù)后會用該臨時文件替換舊的rdb文件其馏,到此一次快照操作完成凤跑。

AOF原理:

AOF持久化方式記錄每次對服務(wù)器寫的操作,當服務(wù)器重啟的時候會重新執(zhí)行這些命令來恢復原始的數(shù)據(jù)尝偎。運作方式是不斷地將命令追加到文件的末尾饶火。

如何選擇?

  • 如果想達到像數(shù)據(jù)庫一樣的數(shù)據(jù)安全性能致扯,應(yīng)該同時使用兩種
  • 若要求不是特別高肤寝,可以只使用RDB持久化

4.redis 開啟啟動服務(wù)

  1. /etc/init.d/redis 加入以下內(nèi)容

     #!/bin/sh 
     ##chkconfig: 2345 80 90 
     ##description:auto_run 
             PATH=/usr/local/bin:/sbin:/usr/bin:/bin 
    
     REDISPORT=6379 
     EXEC=/usr/local/bin/redis-server 
     REDIS_CLI=/usr/local/bin/redis-cli 
     PIDFILE=/var/run/redis.pid 
     CONF="/etc/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 
         if [ "$?"="0" ] 
         then 
             echo "Redis is running..." 
             fi 
             ;; 
         stop) 
         if 
         [ ! -f $PIDFILE ] 
         then 
             echo "$PIDFILE does not exist, process is not running" 
         else 
             PID=$(cat $PIDFILE) 
             echo "Stopping ..."
             $REDIS_CLI -p $REDISPORT SHUTDOWN 
             while [ -x ${PIDFILE} ] 
             do 
                 echo "Waiting for Redis to shutdown ..." 
                 sleep 1 
             done 
                 echo "Redis stopped" 
             fi 
             ;; 
         restartforce-reload) 
             ${0} stop 
             ${0} start 
             ;; 
         *) 
         echo "Usage: /etc/init.d/redis {startstoprestartforce-reload}" >&2 
             exit 1 
     esac 
     #######
    
  2. 設(shè)置權(quán)限: chmod +x /etc/init.d/redis

  3. 加入開機啟動服務(wù)

    • linux: sudo chkconfig redis on
    • ubuntu: sudo sysv-rc-conf redis on
  4. 檢查是否加入服務(wù): service redis start

5.Redis 6種過期策略

  • Volatile-lru : 只針對設(shè)置了過期時間的key
  • AllKeys-lru: 刪除lru算法的key
  • Volatile-random: 隨機刪除即將過期的key
  • Allkeys-random: 隨機刪除
  • Volatile-ttl: 刪除即將過期的key
  • noeviction: 永不過期

Redis 事務(wù)

事務(wù)是一個單獨的隔離,事務(wù)中的所有命令都會序列化抖僵,按順序地執(zhí)行鲤看。事務(wù)在執(zhí)行的過程中,不會被其他客戶端發(fā)送來的命令請求所打斷耍群。

事務(wù)是一個原子操作义桂,事務(wù)中的命令要么全部被執(zhí)行(commit),要么全部不執(zhí)行蹈垢,可以回滾(rollback)慷吊。

一個事務(wù)從開始到執(zhí)行會經(jīng)歷三個階段

  • 開始事務(wù)
  • 命令入隊
  • 執(zhí)行事務(wù)
序號 命令及描述
1 DISCARD 取消事務(wù),放棄執(zhí)行事務(wù)塊內(nèi)的所有命令曹抬。
2 EXEC 執(zhí)行所有事務(wù)塊內(nèi)的命令溉瓶。
3 MULTI 標記一個事務(wù)塊的開始。
4 UNWATCH 取消 WATCH 命令對所有 key 的監(jiān)視。
5 WATCH key [key ...] 監(jiān)視一個(或多個) key 堰酿,如果在事務(wù)執(zhí)行之前這個(或這些) key 被其他命令所改動疾宏,那么事務(wù)將被打斷。

Redis 手冊

Redis中文手冊PHP版

Redis手冊

Redis命令參考

Redis 精文

緩存更新套路--陳皓

《Redis系列專題》之 20分鐘快速了解Redis--手插口袋_

Redis進階:數(shù)據(jù)持久化触创,安全坎藐,在PHP中使用--atwal

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市哼绑,隨后出現(xiàn)的幾起案子岩馍,更是在濱河造成了極大的恐慌,老刑警劉巖凌那,帶你破解...
    沈念sama閱讀 217,542評論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件兼雄,死亡現(xiàn)場離奇詭異吟逝,居然都是意外死亡帽蝶,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,822評論 3 394
  • 文/潘曉璐 我一進店門块攒,熙熙樓的掌柜王于貴愁眉苦臉地迎上來励稳,“玉大人,你說我怎么就攤上這事囱井【阅幔” “怎么了?”我有些...
    開封第一講書人閱讀 163,912評論 0 354
  • 文/不壞的土叔 我叫張陵庞呕,是天一觀的道長新翎。 經(jīng)常有香客問我,道長住练,這世上最難降的妖魔是什么地啰? 我笑而不...
    開封第一講書人閱讀 58,449評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮讲逛,結(jié)果婚禮上亏吝,老公的妹妹穿的比我還像新娘。我一直安慰自己盏混,他們只是感情好蔚鸥,可當我...
    茶點故事閱讀 67,500評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著许赃,像睡著了一般止喷。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上混聊,一...
    開封第一講書人閱讀 51,370評論 1 302
  • 那天弹谁,我揣著相機與錄音,去河邊找鬼。 笑死僵闯,一個胖子當著我的面吹牛卧抗,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播鳖粟,決...
    沈念sama閱讀 40,193評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼社裆,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了向图?” 一聲冷哼從身側(cè)響起泳秀,我...
    開封第一講書人閱讀 39,074評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎榄攀,沒想到半個月后嗜傅,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,505評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡檩赢,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,722評論 3 335
  • 正文 我和宋清朗相戀三年吕嘀,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片贞瞒。...
    茶點故事閱讀 39,841評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡偶房,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出军浆,到底是詐尸還是另有隱情棕洋,我是刑警寧澤,帶...
    沈念sama閱讀 35,569評論 5 345
  • 正文 年R本政府宣布乒融,位于F島的核電站掰盘,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏赞季。R本人自食惡果不足惜愧捕,卻給世界環(huán)境...
    茶點故事閱讀 41,168評論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望碟摆。 院中可真熱鬧晃财,春花似錦、人聲如沸典蜕。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,783評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽愉舔。三九已至钢猛,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間轩缤,已是汗流浹背命迈。 一陣腳步聲響...
    開封第一講書人閱讀 32,918評論 1 269
  • 我被黑心中介騙來泰國打工贩绕, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人壶愤。 一個月前我還...
    沈念sama閱讀 47,962評論 2 370
  • 正文 我出身青樓淑倾,卻偏偏與公主長得像,于是被迫代替她去往敵國和親征椒。 傳聞我的和親對象是個殘疾皇子娇哆,可洞房花燭夜當晚...
    茶點故事閱讀 44,781評論 2 354

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

  • 1.1 資料 ,最好的入門小冊子勃救,可以先于一切文檔之前看碍讨,免費。 作者Antirez的博客蒙秒,Antirez維護的R...
    JefferyLcm閱讀 17,056評論 1 51
  • 本文將從Redis的基本特性入手晕讲,通過講述Redis的數(shù)據(jù)結(jié)構(gòu)和主要命令對Redis的基本能力進行直觀介紹覆获。之后概...
    kelgon閱讀 61,165評論 23 625
  • 轉(zhuǎn)載地址:http://gnucto.blog.51cto.com/3391516/998509 Redis與Me...
    Ddaidai閱讀 21,450評論 0 82
  • 徒步隨著螞蟻遷徙, 走過平原益兄,翻過高山锻梳, 在枝繁葉茂的大樹上小憩箭券。 天空綻開藍色花朵净捅, 我伸出雙手, 在曠野擁抱無...
    葉抽抽閱讀 316評論 7 3
  • 買股票與買基金一樣辩块,想要賺錢就一定要長期持有蛔六,不要在價格下跌了一點就嚇的趕快賣出。 彼得林奇把基金分為幾種類型: ...
    酸菜粉兒閱讀 829評論 0 0