緩衝方案之Redis

來源:互聯網
上載者:User

標籤:redis   緩衝   kv資料庫   

Redis簡介

??Redis是Remote Dictionary Server(Redis) 的縮寫,或許光聽名字你就能猜出它大概是做什麼的。不錯,它是一個由Salvatore Sanfilippo編寫的key-value儲存系統,是一個使用ANSI C語言編寫、遵守BSD協議、支援網路、可基於記憶體亦可持久化的日誌型的Key-Value資料庫,並提供多種語言的API。在很多地方,Redis也被業內人士稱為資料結構伺服器,因為它允許緩衝的值(value)可以是字串(string)、雜湊(hash)、列表(list)、集合(set)和有序集合(sorted set)等類型。此外,Redis還支援master-slave方式的資料備份,所有的這一切都讓Redis在同類型的產品中脫穎而出。

Redis的優勢
  • 效能極高 – 在我的Mac Book Pro上執行Redis的基準測試(benchmark),每秒能夠處理寫運算元都在80000以上。部分測試結果如所示:

  • 豐富的資料類型 – Redis支援Strings, Lists, Hashes, Sets 及Ordered Sets資料類型操作。
  • 原子 – Redis的所有操作都是原子性的,同時Redis還支援對幾個操作全並後的原子性執行。
  • 豐富的特性 – Redis還支援publish/subscribe,通知,key到期等豐富的特性。
Redis的安裝和配置

??如何在Windows和Linux系統上安裝Redis在W3CSchool網站已經有詳細的講解了,我分享一下在Mac上安裝Redis的過程,跟其他系統基本一致。首先從Redis的官方網站下載Redis的壓縮檔,解壓之後有一個src目錄。由於Mac系統是在Unix系統(FreeBSD)基礎上發展起來的,因此可以直接使用make命令對src目錄下的原始碼進行構建(Makefile肯定是已經有的,不懂make的作用和原理沒關係,照做就可以了),構建完成後src目錄下會產生一個redis-server檔案,運行它就可以啟動伺服器,如所示。

??接下來可以啟動一個用戶端程式來做一些簡單的實驗。還是在剛才的src目錄下有一個redis-cli檔案,運行它就可以啟動一個用戶端,如所示。

??關於Redis的資料類型、命令、事務、發布/訂閱、資料備份與恢複、配置等內容仍然可以參考上面提到的W3CSchool的網站。

在Java項目中使用Redis

Jedis是Redis官方首選的Java用戶端開發包,點選連結可以獲得相關的API文檔。下面給出一段簡單的測試代碼。

import redis.clients.jedis.Jedis;class RedisTest {    public static void main(String[] args) {        Jedis jedis = new Jedis("localhost");       // 串連到Redis伺服器        // jedis.auth("123456");                    // 輸入口令進行驗證        jedis.set("greeting", "Hello, world!");     // 將字串緩衝到Redis伺服器        System.out.println(jedis.get("greeting"));  // 從Redis緩衝中擷取資料    }}
Redis和Memcached的比較
  1. Redis使用最佳方式是全部資料in-memory。
  2. Redis更多情境是作為Memcached的替代者來使用。
  3. 當需要除key/value之外的更多資料類型支援時,Redis更合適。
  4. 當儲存的資料不能被剔除時,使用Redis更合適。
  5. Redis可以使用指令直接對緩衝的資料進行運算。

緩衝方案之Redis

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.