天天看點

分布式業務Redis安裝與叢集配置

       Redis在百度百科裡的解釋:Redis是一個開源的使用ANSI  C語言編寫、支援網絡、可基于記憶體亦可持久化的日志型、Key-Value資料庫,并提供多種語言的API,包括C#、Java、PHP等等,甚至連Javascript都做了很好的封裝。

       可見Redis的資料是持久化的,可以分擔一個項目中的部分業務,Redis的資料是存儲在伺服器記憶體當中的,這樣可以極大的加快通路速度,因為記憶體的讀取速度遠遠超過磁盤和資料庫,這在很大程式的上解決了大并發的困惑;同時Redis和Memcached不同,會按照設定的規律定期将資料同步到磁盤資料庫,這樣在Redis伺服器當機時也能保證資料的完整性。

       大家都知道Redis在全球最大的使用者是新浪微網誌,新浪有最大的Redis叢集,新浪最開始使用Memcached與Mysql配合,後來新浪又增加了Redis,而不是棄用Memcached,新浪加入Redis叢集的初衷:

      1、Memcached存在命中率問題,這樣大量請求會發送到Mysql,對于新浪微網誌這麼大的并發無疑是一個災難,Redis不存在命中率問題

      2、Redis相對于Memcached支援更多的資料類型,如string(字元串)、list(連結清單)、set(集合)、zset(有序集合)和hash(哈希類型)。這些資料類型都支援push/pop、add/remove及取交集并集和差集及更豐富的操作,而且這些操作都是原子性的

     3、Redis主從叢集配置技術容易實作,維護成本低,項目複雜度低

     4、Redis的持久化存儲從某種程度上解決了Cache當機帶來的雪崩現象

       當然,新浪并沒有棄用Memcached+Mysql,使用者的全量資訊是在此結構中的,使用Redis帶來的問題是,資料是持久化的,這是相當占用記憶體的,成本不可小觑。

      Redis(2.8.19目前最新穩定版本)的安裝:

      1.下載下傳:

          http://pan.baidu.com/s/1jGvJxBo

       2.安裝

        解壓下載下傳檔案:

        [root@jhq0229 src]# tar xzvf redis-stable.tar.gz

        編譯安裝:

        [root@jhq0229 src]# cd redis-stable

        [root@jhq0229 redis-stable]# make 

        [root@jhq0229 redis-stable]# make  PREFIX=/usr/local install

        配置:

        [root@jhq0229 redis-stable]# mkdir /etc/redis

        [root@jhq0229 redis-stable]# cp redis.conf /etc/redis/

         建立Redis資料及日志存放目錄:

         [root@jhq0229 redis-stable]# mkdir /data/redis

         Redis配置檔案詳解:

        配置自己的Redis叢集(若不配置叢集可以隻配置Master):

       [root@jhq0229 redis-stable]# vim /etc/redis/redis.conf

        我的Redis主從配置:

        主:192.168.1.18              認證密碼:01130229

        從:192.168.1.16

        主Redis(Master)配置:

       從Redis(Slave)配置,配置與Master類似,不一緻内容如下:

      配置Redis開機啟動:

     [root@jhq0229 redis-stable]# vim /etc/init.d/redis

     内容如下:

     [root@jhq0229 redis-stable]# chmod +x /etc/init.d/redis

     [root@jhq0229 redis-stable]# chkconfig redis on

     補充配置,配置停止服務前同步資料到磁盤:

     [root@jhq0229 redis-stable]# vim /etc/sysctl.conf

     進行如下修改:

     vm.overcommit_memory=1

     應用修改:

      sysctl -p

      啟動Redis:

      [root@jhq0229 redis-stable]# service redis start

      主從Redis的安裝和配置隻是配置檔案不同,其他的均一樣,一般主從配好就可以測試主從操作了,主server上set,從server馬上就可以get到了。

     最後,奉上公司同僚辛勤總結的Redis學習資料。希望可以幫到你。

     下載下傳位址:    http://pan.baidu.com/s/1qWLV87a

     PPT内容版權歸公司所有。

繼續閱讀