redis學習----Redis說明

Redis 安裝

安裝環境:Linux debian (deepin)
軟件包管理安裝:redis

sudo apt-get install install redis-server算法

手動安裝:
因爲Redis是用C語言編寫的,手動安裝首先須要保證有gcc編譯器,若是沒有可輸入 sudo apt-get install gcc 命令來安裝數據庫

sudo wget http://download.redis.io/releases/redis-5.0.5.tar.gz
sudo tar zxvf redis-5.0.5.tar.gz
cp -r redis-5.0.5.tar.gz /usr/redis
cd /usr/redis/redis-5.0.5.tar.gz
sudo make
sudo make install緩存

安裝完成後redis就會在 /usr/redis/redis-5.0.5.tar.gz 路徑中。安裝完後是沒有配置文件的,咱們須要將配置文件複製到 /usr/redis 路徑中。服務器

啓動Redis

上面描述了Redis的兩種安裝方式,咱們在使用Redis時,若是是用軟件包安裝的話,能夠使用service redis-server start 的方式來啓動redis
若使用的是第二種使用方式的話,咱們須要進入到剛剛安裝的目錄下,運行redis-server文件啓動服務端,運行redis-cli啓動客戶端。ui

Redis 配置文件

Redis 的配置文件爲redis.conf文件,若是您的redis是手動安裝的話須要將redis的配置文件複製到您的安裝目錄。
因爲本人是用deb軟件包管理安裝的redis,因此須要到etc/redis目錄中找到redis.conf文件
若是使用的是第二種方式安裝的,啓動的時候須要帶上配置文件地址debug

配置說明

  • daemonize no #Redis守護進程配置
  • pidfile /var/run/redis.pid #將進程寫入到指定的文件
  • port 6379 #指定Redis監聽端口,默認是6379
  • bind 127.0.0.1 #綁定的主機地址默認綁定本機
  • timeout 300 #當客戶端閒置多長時間後關閉鏈接,若是指定爲0表示關閉該功能
  • loglevel verbose #指定日誌記錄級別,Redis總共支持四個級別:debug、verbose、notice、waring
  • logfile stdout #日誌記錄方式,默認爲標準輸出,若是配置Redis爲守護進程方式運行,而這裏又配置爲日誌記錄方式爲標準輸出,則日誌將會發送給/dev/null
  • databases 16 #設置數據庫的數量,默認爲0.能夠使用select (dbid) 命令在鏈接上指定數據庫id
  • save (seconds) (changes) #指定在多上時間內,有多少次更新操做,就將數據庫同步到數據庫文件,能夠多條件配合,Redis中默認提供三個條件:1.save 9001 2.save 300 10 3.save 60 10000
  • rdbcompression yes #指定存儲至本地數據時是否壓縮數據,默認爲yes,Redis採用LZF壓縮,若是爲了節省CPU時間能夠關閉該選項,可是會到時數據庫文件巨大
  • dbfilename dump.rdb #指定本地數據庫文件名,默認值爲 dump.rdb
  • dir ./ 指定本地文件存放目錄
  • saveof (masterip) (masterport) #設置當本機爲slave服務時,設置master服務的IP地址及端口,在Redis啓動時,它會自動從master進行數據同步
  • masterauth (master-password) #當master服務設置了密碼保護時,slave服務連接master的密碼
  • requirepass foobared #設置Redis鏈接密碼,若是配置了鏈接密碼,客戶端在鏈接Redis時須要經過AUTH (password)命令提供密碼,默認關閉。若設置後連接須要使用redis-cli -a password。若須要遠程登陸需使用redis-cli -h host -p port -a password。
  • maxclients 128 #設置同一時間最大客戶端鏈接數,默認無限制,設置maxclients 0表示不做限制。當客戶端連接數到達限制時,Redis會關閉新的鏈接並向客戶端返回max number of clients reached錯誤
  • maxmemory (byte) #指定Redis最大內存限制,Redis在啓動時會把數據加載到內存中,到達最大內存後,Redis會先嚐試清除已到期或即將到期的key,當此方法處理後,仍然到達最大內存設置,將沒法再進行寫入操做,但仍然能夠進行讀取操做,Redis新的vm機制,會把key存放內存,Value會存放在swap分區日誌

    Redis宕機通常解決方案

    Redis是一款優秀的中間緩存件,時常會存儲大量的數據,若是數據一直新增,內存很快就會佔滿。server

    解決方案

  • 微數據設置超時時間 (具體設置方案須要更具服務器的配置來)
  • 採用LRU算法動態將不用的數據刪除。使用這些策略是當內存超過maxmemory限定時會主動觸發。具體算法詳情見 https://www.jianshu.com/p/afb440a48aba進程

相關文章
相關標籤/搜索