Redisクイックスタートガイド

7120 ワード

1、redis   
Redis:Remote Dictionary Server        
            ,  C      ,   BSD  ,        (key/value)         ,      ,        NoSQL    ,        NoSql      ,             。

2、  
     wget http://download.redis.io/redis-stable.tar.gz
     tar -zxvf redis-stable.tar.gz
     cd redis-stable
     make
     make install
      :redis     gcc,         gcc    。

3、     :
    Redis     KV       : 
    Redis        ,               ,             
    Redis        KV    ,     list,set,zset,hash       。
    Redis      , master-slave       。

    redis   :

      ,      
       ,   

4、  Redis
     Redis         redis.conf ,   redis.conf  ,   daemonize  yes,      。
  :
    redis-server redis.conf &
  Redis:     
    redis-cli -p 6379
      ping ,  PONG, Redis  。
  :
          redis-cli shutdown
              redis-cli -p 6379 shutdown

5、Redis     
    1,redis     。 

                   。             epoll         。Redis                   ,Epoll Linux                   epoll, Linux     IO  select/poll     ,                             CPU   。
     216    ,      ,      。
     3,Select +   id      
     4,Dbsize         key
     5,Flushdb:     
     6,Flushall:     
     716          
     8,Redis        
     96379

6、Redis     
     :
    rdb:
        fork    ,  hash table,  copy on write,   db dump    。save, shutdown, slave          。     ,  save, shutdown, slave   crash ,           。

    aof:
              ,              。           ,crash       。

7、Redis   
Redis Replication     
         ,              ,         master/slaver   ,Master     , Slave     。
         ,    
  :
     1:  ( )   ( )
     2:    ,         redis.conf,slaveof +  ip +  redis    ,   slaveof 127.0.0.1 6370
    {  ,            redis      ,    Redis       ,     redis   pid   ,   ,log   dump.rdb   ,aof     }
     redis.conf        ,  deamonize yes,pid   [pidfile],  [port ],Log   [logfile],dump.rdb   [dbfilename] [appendfilename]
     3:   redis  ,  2      Redis     ,    Redis  。
          info replication     redis        

redis-sentinel(    )  

       Redis  sentinel.conf
    sentinel monitor    
      :
    sentinel monitor masterip 127.0.0.1 6379 1
    host6379 :        ,        
    ip   redis   
          1,       salve           ,            。
      Redis  ,      
    Redis-sentinel sentinel.conf

       Redis sentinel.conf
       Redis Ip  192.168.12.2 port 6379    Redis sentinel.conf
    sentinel monitor masterip 192.168.12.2 6379 1
          
    Redis-sentinel sentinel.conf

           ,        ,                。  redis-sentinel client-reconfig-script  ,client-reconfig-script       , sentinel failover    ,              ,    VIP(  IP)  ,       。
    sentinel.conf     
    sentinel client-reconfig-script mymaster /var/redis/reconfig.sh
      host  ip     :
    #vim /etc/hosts  
    10.66.1.9  redis.test.com  
      /var/redis/reconfig.sh   ,         。
echo "Master move from $4:$5 to $6:$7" >> /Data/logs/redis/sentinel.log  
sed -i '/redis.zhibo.com/d' /etc/hosts  
sed -i '$a '$6' redis.zhibo.com' /etc/hosts
    client-reconfig-script        switch   sentinel      ,     sentinel              ,          redis.test.com              redis ip  。

redis     :
                
    maxmemory
                
    LRU means Least Recently Used
    LFU means Least Frequently Used

    Redis INFO – Redis              
              ,  out of max memory;               3/4               。
          ,https://redis.io/topics/benchmarks 
         redis    
    redis-benchmark -n 1000000 -t set,get -P 16 -q
    SET: 1145475.38 requests per second
    GET: 1536098.25 requests per second