redis環境搭建——介紹、安裝、配置

1. NoSQL&Redis介紹

       NoSQL,Not Only SQL,是非關係型的數據庫。傳統的關係數據庫不能滿足超大規模和高併發的應用。

       是以Key-Value的形式存儲,(例如JSON,XML),不一定遵循傳統數據庫的一些基本要求,比如SQL標準、ACID屬性(Atomicity/ Consistency/Isolation/Durability)、表結構等。主要有以下的特點:非關係型的、分步式的、開源的、水平可擴展的(指能夠連接多個軟硬件的特性)。

       NoSQL適用場景:

              1)、High performance - 對數據高併發讀寫

              2)、Huge storage - 對海量數據的高效率存儲和訪問

              3)、High scalability && HighAvailability - 對數據的高可擴展性和高可用性

       開源的NoSQL數據庫:Redis, MongoDB, Cassandra…...

       Redis的介紹

       Redis是一個Key-Value存儲系統。它支持存儲的value類型有:string(字符串),list(鏈表), set(無序集合), zset(sorted set有序集合)和hash,也可以把redis看成一個數據結構服務器。這些數據類型都支持pust/popadd/remove及取交集、並集和差集運算,Redis支持各種不同方式的排序。數據都是緩存在內存中的,它也可以週期性的把更新的數據寫入磁盤或者把修改操作寫入追加的記錄文件,並實現了master-slave(主從)同步。

       Redis提供的API語言包括C、C++、C#、Java、JavaScript、Lua、Objective-C、Perl、PHP、Python、Ruby、Go、Tcl等。

       使用Redis:新浪微博,200+ Server、400 port、4G data.

       使用方式:與memcache相同

              1. 應用程序直接訪問Redis數據庫;

              2. 應用程序直接訪問Redis,只有當訪問Redis失敗時才訪問MySQL

       應用場合:

              1. 取最新N個數據的操作

              2. 排行榜應用

              3. 需要精確設定過期時間的應用

              4. 計數器應用

              5. Uniq操作,獲取某段時間所有數據排重值

              6. 實時系統,反垃圾系統

              7. Pub/Sub構建實時消息系統

              8. 構建隊列系統

              9. 緩存

              10. 存儲微博關注關係

       Redis有庫無表無字段無行列。MongoDB有庫有集合(對應於Mysql中的表)

2. Redis的安裝

       官網:http://redis.io

       步驟一:

              下載安裝包:

              wget http://redis.googlecode.com/files/redis-2.4.17.tar.gz

       步驟二:

              編譯源代碼:

              tarzxvf redis-2.4.17.tar.gz

              cdredis-2.4.17

              make

              cdsrc

              makeinstall

              注:make完成後,有產生可執行文件

                     redis-server:redis服務器的啓動程序

                     redis-cli:redis命令行工具,也可爲客戶端

                     redis-benchmark:redis性能測試工具(讀寫)

                     redis-stat:redis狀態檢測工具(狀態參數延遲)

       步驟三:(非必須)

              移動文件,便於管理

              mkdir –p /usr/local/redis/bin

              mkdir –p /usr/local/redis/etc

              mv redis-2.4.17/redis.conf/usr/local/redis/etc

              mvmkreleasehdr.sh redis-benchmark redis-check-aof redis-check-dump redis-cli   redis-server /usr/lcoal/redis/bin

       步驟四:

              啓動redis服務

              /usr/local/redis/bin/redis-server(有警告,沒有加載配置文件)

              /usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf

              Redis服務端的默認連接端口是6379

              Redis默認不是後臺運行

       步驟五:

              客戶端連接

              /usr/local/redis/bin/redis-cli

              或者其他客戶端:如phpredis

$redis = new Redis();
$redis->connect(“127.0.0.1”, 6379);

       步驟六:

              停止Redis

              /usr/local/redis/bin/redis-clishutdown

              or

              pkill redis-server

3.  Redis的配置

              daemonize 如果需要在後臺運行,把該項改爲yes

              pidfile 配置多個pid的地址,默認在/var/run/redis.pid

              bind 綁定ip,設置後只接受自該ip的請求

              port 監聽端口,默認爲6379

              timeout 設置客戶端連接時的超時時間,單位爲秒

              loglevel 分爲4級,debug、verbose、notice、warning

              logfile 配置log文件地址

              databases 設置數據庫的個數,默認使用的數據庫爲0

              save 設置redis進行數據庫鏡像的頻率,保存快照的頻率,第一個*表示多長時間,       第三個*表示執行多少次寫操作。在一定時間內執行一定數量的寫操作時,自動保存快照。可設置多個條件。

              rdbcompression 在進行鏡像備份時,是否進行壓縮

              Dbfilename 鏡像備份文件的文件名

              Dir 數據庫鏡像備份的文件放置路徑

              Slaveof 設置數據庫爲其他數據庫的從數據庫 

              Masterauth 主數據庫連接需要的密碼驗證

              Requirepass 設置登錄時需要使用的密碼

              Maxclients 限制同時連接的客戶數量

              Maxmemory 設置redis能夠使用的最大內存

              Appendonly 開啓append only模式

              appendfsync 設置對appendonly.aof文件同步的頻率

              vm-enabled 是否虛擬內存的支持

              vm-swap-file 設置虛擬內存的交換文件路徑

              vm-max-memory 設置redis使用的最大物理內存大小

              vm-page-size 設置虛擬內存的頁大小

              vm-pages 設置交換文件的總page數量

              vm-max-threads 設置VMIO同時使用的線程數量

              glueoutputbuf 把小的輸出緩存存放在一起

              hash-max-zipmap-entries 設置hash的臨界值

              activerehashing 重新hash

以上參考了很多互聯網資料,僅爲自己的學習筆記

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