Redis紹介,Redisインストール,redis持続化

5360 ワード

Redisの紹介
RedisはMemcachedと類似しており、k-vデータ格納Redis公式サイトredisにも属する.ioは、現在の最新の安定版4.0.1でより多くのvalueタイプをサポートしており、stringに加えてhash、lists(チェーンテーブル)、sets(セット)、sorted sets(シーケンスセット)redisは、フルデータ(RDB)とインクリメンタルリクエスト(aof)の2つのファイルフォーマットを使用しています.フルデータフォーマットは、メモリ内のデータをディスクに書き込むことで、次回のファイル読み込みに便利です.インクリメンタルリクエストファイルは、メモリ内のデータを操作リクエストにシーケンス化し、mysql binlogに類似したファイルを読み取りreplayしてデータを得るために使用されます.redisのストレージはメモリストレージ、ディスクストレージ、logファイルの3つの部分に分かれています
Redisインストール
先に/usr/local/srcディレクトリの下に入って、Redisをダウンロードします
[root@shuai-01 ~]# cd /usr/local/src
    Redis-4.0.2  
[root@shuai-01 src]# wget http://download.redis.io/releases/redis-4.0.2.tar.gz

解凍して、ディレクトリのインストールに入ります
[root@shuai-01 redis-4.0.2]# tar zxvf redis-4.0.2.tar.gz

[root@shuai-01 src]# cd redis-4.0.2/

Redisのインストールは他のものと同じではなく、makeとmake installだけでいいです.
[root@shuai-01 redis-4.0.2]# make

Redisのデフォルトのインストール場所
[root@shuai-01 redis-4.0.2]# which redis-cli
/usr/local/bin/redis-cli

Redisの関連コマンド:
[root@shuai-01 redis-4.0.2]# ls /usr/local/bin/
redis-benchmark  redis-check-rdb  redis-sentinel
redis-check-aof  redis-cli        redis-server

Redis官网:Redis.io
コンフィギュレーション
Redisプロファイルを/etcディレクトリにコピー
[root@shuai-01 redis-4.0.2]# cp /usr/local/src/redis-4.0.2/redis.conf /etc/

プロファイルの編集
[root@shuai-01 ~]# vim /etc/redis.conf 

    Redis        

daemonize yes          #yes      ;no      
pidfile /var/run/redis_6379.pid  #pid    
loglevel notice        
#      :debug(  ,  )、verbose(   )、notice、warning
#debug         ,          notice,                
logfile "/tmp/logs/redis.log"  #          
databases 16   
#Redis     ,   0 
dir /data/redis     #  rdb、aof       
appendonly yes          #  aof  ,     dir       appendonly.aof    
appendfsync everysec      #         :always(        )、everysec(      )、no(   )

redisの起動
[root@shuai-01 ~]# redis-server /etc/redis.conf 

*** FATAL CONFIG FILE ERROR ***
Reading the configuration file, at line 171
>>> 'logfile "/tmp/logs/redis.log"'
Can't open the log file: No such file or directory

logfileファイルがなく、ファイルを作成
[root@shuai-01 ~]# touch /tmp/logs/redis.log

[root@shuai-01 ~]# ps aux |grep redis-server
root       7922  1.0  0.7 145256  7516 ?        Ssl  16:50   0:00 redis-server 127.0.0.1:6379
root       7927  0.0  0.0 112680   980 pts/0    S+   16:51   0:00 grep --color=auto redis-server

ログの表示:
7921:C 18 Apr 16:50:06.212 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
7921:C 18 Apr 16:50:06.212 # Redis version=4.0.2, bits=64, commit=00000000
, modified=0, pid=7921, just started
7921:C 18 Apr 16:50:06.212 # Configuration loaded
7922:M 18 Apr 16:50:08.288 * Increased maximum number of open files to 100
32 (it was originally set to 1024).
                _._                                                  
           _.-``__ ''-._                                             
      _.-``    `.  `_.  ''-._           Redis 4.0.2 (00000000/0) 64 bit
  .-`` .-```.  ```\/    _.,_ ''-._                                   
 (    '      ,       .-`  | `,    )     Running in standalone mode
 |`-._`-...-` __...-.``-._|'` _.-'|     Port: 6379
 |    `-._   `._    /     _.-'    |     PID: 7922
  `-._    `-._  `-./  _.-'    _.-'                                   
 |`-._`-._    `-.__.-'    _.-'_.-'|                                  
 |    `-._`-._        _.-'_.-'    |           http://redis.io        
  `-._    `-._`-.__.-'_.-'    _.-'                                   
 |`-._`-._    `-.__.-'    _.-'_.-'|                                  
 |    `-._`-._        _.-'_.-'    |                                  
  `-._    `-._`-.__.-'_.-'    _.-'                                   
      `-._    `-.__.-'    _.-'                                       
          `-._        _.-'                                           
              `-.__.-'                                               

Redisカーネルパラメータの構成をPOSTに追加するには、次の手順に従います.
sysctl vm.overcommit_memory=1
echo never > /sys/kernel/mm/transparent_hugepage/enabled


[root@shuai-01 ~]# vim /etc/rc.local

sysctl vm.overcommit_memory=1
echo never > /sys/kernel/mm/transparent_hugepage/enabled

Redisで傍受されているIPおよびポート番号については、プロファイルで変更できます.
redis持続化
Redisは、RDB(Redis DataBase)とAOF(Append Only File)RDBの2つの永続化方式を提供し、簡単に言えば、redisに格納されたデータを異なる時点でスナップショットを生成し、ディスクなどの媒体に格納する.AOFは、redisが実行したすべての書き込み命令を記録し、次回のredis再起動時に、これらの書き込み命令を前から後まで繰り返し実行すれば、データ復旧を実現できるという角度を変えて持続化を実現している.実はRDBとAOFの2つの方式も同時に使用することができ、この場合、redisが再起動すると、AOF方式が優先的にデータ復旧を行うことになる.これは、AOF方式のデータ復旧整合度がより高いためである.データの永続化の必要性がなければ、RDBとAOF方式を完全にオフにすることもできます.そうすると、redisはmemcacheのように純粋なメモリデータベースになります.
永続化とは、メモリからハードディスク(HDD)にデータをコピーすることです.
永続化されたルール:redisプロファイルで、
         
#   save ""
          
save 900 1
save 300 10
save 60 10000

aofには3つの方式があり、aofはredisが実行したすべての命令を記録する.
#      
# appendfsync always
#      ,       
appendfsync everysec
#   ,  linux     
# appendfsync no