1. 程式人生 > >使用redis減小數據庫訪問壓力及提高系統性能

使用redis減小數據庫訪問壓力及提高系統性能

基礎上 磁盤 log 配置 關系 mas strong 小項目 內存

什麽是redis

  redis是一個key-value存儲系統。和Memcached類似,它支持存儲的value類型相對更多,包括string(字符串)、list(鏈表)、set(集合)、zset(sorted set --有序集合)和hash(哈希類型)。這些數據類型都支持push/pop、add/remove及取交集並集和差集及更豐富的操作,而且這些操作都是原子性的。在此基礎上,redis支持各種不同方式的排序。與memcached一樣,為了保證效率,數據都是緩存在內存中。區別的是redis會周期性的把更新的數據寫入磁盤或者把修改操作寫入追加的記錄文件,並且在此基礎上實現了master-slave(主從)同步。

Redis 是一個高性能的key-value數據庫。 redis的出現,很大程度補償了memcached這類key/value存儲的不足,在部 分場合可以對關系數據庫起到很好的補充作用。它提供了Java,C/C++,C#,PHP,JavaScript,Perl,Object-C,Python,Ruby,Erlang等客戶端,使用很方便.

Redis支持主從同步。數據可以從主服務器向任意數量的從服務器上同步,從服務器可以是關聯其他從服務器的主服務器。這使得Redis可執行單層樹復制。存盤可以有意無意的對數據進行寫操作。由於完全實現了發布/訂閱機制,使得從數據庫在任何地方同步樹時,可訂閱一個頻道並接收主服務器完整的消息發布記錄。同步對讀取操作的可擴展性和數據冗余很有幫助。 在javaweb中使用redis的作用
  使用redis,最主要的功能就是它的緩存,就如計算機的高速緩存,當我們要訪問某些數據時,先去redis中找,看其是否存在,若不存在,則再訪問數據庫,同時將數據存入redis,下次訪問的時候就可以直接從redis中讀取,在一個小項目中,你可能感覺不到性能的提升,但是若同時有幾十萬,上百萬的訪問量時,其對性能的提升是飛躍的,極大地減小了數據庫的壓力,但每次數據庫中的數據改變時,必須改變redis緩存中的數據,否則將會出現不同步的錯誤,redis提供五種數據類型:string,hash,list,set及zset(sorted set)。可存儲多種數據。   

  開始在 Java 中使用 Redis 前, 我們需要確保已經安裝了 redis 服務及 Java redis 驅動,且你的機器上能正常使用 Java。

(1)Java的安裝配置可以參考我們的 Java開發環境配置

(2)安裝了 redis 服務;

windows下開始redis服務步驟

進入redis的bin目錄:

技術分享

開啟redis服務

技術分享

成功開啟後如下:

技術分享

使用redis減小數據庫訪問壓力及提高系統性能