redis基本使用

1.redis持久化介紹
    a.remote dictionary server

    b.也是基於key-value的鍵值的存儲

    c.redis支持的數據類型更豐富

    d.持久化緩存服務,

    e.支持master-slave同步 (主從同步)

2.redis特點
    a.性能很高:redis能支持超過100k每秒的讀寫頻繁
    b.豐富的數據類型:redis支持二進制的strings lists hashes sets 等
    c.原子性:redis的所有操作都是原子性的,同時redis還支持對幾個操作全並
        後的原子性執行
    d.豐富的特徵:redis支持publish/subscribe。

    e.redis支持異機主從複製

    f.可以持久化存儲數據

3.數據類型

    a.String
    b.Hash
    c.List
    d.Set
    e.Sorted set

4.redis應用場景說明 (*)

    a.mysql需要不斷地拆庫拆表,memcached也需要不斷跟着擴容,擴容和維護工作佔據
      大量開發運維時間

    b.memcached和mysql數據庫數據一致性問題是一個老大難

    c.memcached命中率很低,會導致讓後端數據庫的訪問壓力增大。

    redis的最佳場景

        1.redis最佳試用場景是全部數據in-memory
        2.redis作爲memcache的替代品來使用
        3.當需要更多的數據類型支持時,可以使用redis
        4.當存儲的數據不能被剔除時,使用redis
        5.需要負載均衡的場景(redis主從同步)

5.redis的安裝部署
    a.下載源碼包

        wget http://download.redis.io/releases/redis-2-8-9.tar.gz

        tar xf redis-2-8-9.tar.gz

        cd redis-2-8-9

    b.編譯安裝 (不需要configure)
        
        less README

        make MALLOC=jemalloc

        make PREFIX=/application/redis-2.8.9 install    #在安裝時指定路徑 make PREFIX=


        
    c.加link
        ln -s /application/redis-2.8.9 /application/redis

6.redis的目錄結構及文件
    d.查看目錄結構

        tree /application/redis-2.8.9/bin

    e.bin目錄下文件說明

        redis-server:    Redis服務器的daemon啓動程序
        redis-cli :       Redis命令行操作工具,當然,也可以用telnet根據純文本協議操作
        redis-benchmark    Redis性能測試工具,測試Redis在系統及配置下的讀寫性能

        redis-check-aof:    更新日誌檢查

        redis-check-dump:    用於本地數據檢查
7.啓動redis
    
    a.配置redis的環境變量
        
        echo 'export PATH=/application/redis/bin:$PATH'>>/etc/profile    
        source /etc/profile    
    b.創建redis的配置文文件目錄

        mkdir -p /application/redis/conf/

        cp -apr (redis的解壓目錄) redis.conf /application/redis/conf/

    c.啓動redis (redis-server )

        redis-server /application/redis/conf/redis.conf &

         WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect. (可能會報這個錯)
        
        解決:    echo 'vm.overcommit_memory' >>/etc/sysctl.conf
            sysctl vm.overcommit_memory=1

        redis-server /application/redis/conf/redis.conf &

    d.redis正確關閉方法

        redis-cli shutdown

8.啓動redis服務及利用客戶端命令測試redis

    a.連接redis (redis-cli --help查看基本使用)

        redis-cli -h 127.0.0.1

    b.不登錄創建
        redis-cli -h 127.0.0.1 -p 6379 set 001 jiahb

    c.telnet方式登錄
        telnet 127.0.0.1 6379

9.redis多數據類型介紹
d
    
10.redis 的php客戶端擴展安裝
    a.下載源碼
        wget https://github.com/nicolasff/phpredis/archive/master.zip
    b.解壓
        
        tar xf phpredis2.2.4        #解壓

        cd phpredis2.2.4        #切換目錄

        /application/php5.3.27/bin/phpize    

        ./configure --with-php-config=/application/php/bin/php-config

        make && make install         #編譯並安裝redis.so文件

    c.修改php.ini設置並重啓php

        echo "extension_dir = /application/php/lib/php/extensions/no../"
        echo "extension = redis.so" >> /application/php/lib/php.ini
        
            session.save_path = "tcp://IP:6379"
            
        

        pkill php-fpm
-
        /application/php/sbin/php-fpm
        
        http://IP:8080         可以查看redis的擴展是否安裝正常。


11.redis配置文件介紹及主從同步配置
    
    a.查看配置文件

        vim /application/redis/conf/redis.conf

    b.關鍵參數
        port         6379        監聽端口
        tcp-keeplive     40        會話保持
        loglevel    warnning    日誌級別
        databases    16        設置數據庫數量
        save         900 1        900秒有一個key變化,則保存
        save        300 10        300秒有一個key變化,則保存

        slaveof        <masterip>    <masterport>     主從複製的配置9


12.監控redis數據庫寫入

    1.redis-cli -h 127.0.0.1 -p 6379    monitor  監視redis數據庫的寫及變化

    2.redis-cli -h 127.0.0.1 -p 6379 info             #查看redis的狀態信息

    3.redis-cli -h 127.0.0.1 -p 6379 info Replication     #查看redis主從複製情況

13.Redis負載均衡的應用
    
    1.
    

    

       

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章