redis學習筆記-安裝與入門

Linux下安裝redis

mkdir /usr/local/redis  && cd /usr/local/redis
下載:wget http://download.redis.io/releases/redis-3.0.5.tar.gz
解壓:tar xzf redis-3.0.5.tar.gz
安裝到指定目錄:
cd redis-3.0.5
make PREFIX=/usr/local/redis install

將redis作成一個服務

  1. 複製並重命名腳本
    cp /usr/local/redis/redis-3.0.5/utils/redis_init_script /etc/rc.d/init.d/redisredis

  2. 由於默認redis服務不支持chkconfig,因此須要修改redis腳本,增長:
    #chkconfig: 2345 80 90
    注意腳本中EXEC、CLIEXEC的路徑是否正確(對應redis-server、redis-cli的安裝目錄)數據庫

  3. 複製conf文件到相應位置,與腳本中CONF配置一致
    cp /usr/local/redis/redis-3.0.5/redis.conf /etc/redis/6379.conf緩存

  4. 添加並啓動服務
    chkconofig --add redis
    service redis start安全

將redis的命令所在目錄添加到系統參數PATH中

vi /etc/profile
export PATH="$PATH:/usr/local/redis/bin"
這樣咱們能夠直接使用redis-cli來鏈接redis服務器了,不用每次都跑到bin目錄下執行命令。

查看redis版本

redis-server --version  // 查看服務端版本
redis-cli --version  // 查看客戶端版本
或者鏈接redis server後使用info命令也能夠查看

基本數據類型和經常使用命令

數據類型

redis的鍵老是一個字符串對象,而值則能夠是任意一種Redis對象類型,包括字
符串對象、哈希表對象、列表對象、集合對象和有序集合對象,分別對應字符串鍵
哈希表鍵、列表鍵、集合鍵和有序集合鍵。服務器

redis數據類型

redis會根據不一樣的使用場景來爲一個對象設置不一樣的編碼,從而來優化對象在某一場景下的效率。app

經常使用命令列表

redis命令
redis命令
redis命令

redis持久化

由於redis是內存數據庫,它將本身的數據庫狀態儲存在內存裏面,因此若是不想辦法將儲存在內存中的數據庫狀態保存到磁盤裏面,那麼一旦服務器進程退出,服務器中的數據庫狀態也會消失不見。
爲了解決這個問題,redis提供了兩種持久化機制:RDB & AOF。能夠將redis在內存中的數據庫狀態保存到磁盤特定文件裏,在redis服務器啓動之初會讀取該文件來從新構建數據庫,以保證啓動後數據庫中的數據是完整的。優化

RDB

在指定的時間間隔內將內存中的數據集快照寫入磁盤。編碼

經過命令執行

save  // 阻塞服務器其它操做
bgsave  // 經過子進程執行,非阻塞

redis自動間隔性保存

根據conf配置文件中save選項來設置:
clipboard.png
如圖,默認900秒1次修改、300秒10次修改、60秒10000次修改redis會自動執行RDB持久化。spa

AOF

以日誌的形式記錄服務器所處理的每個寫操做,若是服務器開啓了AOF持久化(appendonly yes)功能,那麼服務器會優先使用AOF文件來還原數據庫狀態。日誌

持久化實現

追加至aof_buf緩存區 -> 文件寫入 -> 文件同步(保存),服務器配置的appendfsync選項的值直接決定AOF持久化功能的效率和安全性。
clipboard.png

AOF文件重寫

由於AOF持久化是經過保存被執行的寫命令來記錄數據庫狀態的,因此隨着服務器運行時間的流逝,AOF文件中的內容會愈來愈多,文件的體積也會愈來愈大,若是不加以控制的話,體積過大的AOF文件極可能對redis服務器、甚至整個宿主計算機形成影響,而且AOF文件的體積越大,使用AOF文件來進行數據還原所需的時間就越多。
爲了解決AOF文件體積膨脹的問題,redis提供了AOF文件重寫(rewrite)功能。經過該功能,redis服務器能夠建立一個新的AOF文件來替代現有的AOF文件,新舊兩個AOF文件所保存的數據庫狀態相同,但新AOF文件不會包含任何浪費空間的冗餘命令,因此新AOF文件的體積一般會比舊AOF文件的體積要小得多。

  • 手動執行:

    bgrewriteaof
  • 設置自動觸發條件:
    clipboard.png

相關文章
相關標籤/搜索