Redis安裝及Java用戶端的使用淺析(jedis)__Java

來源:互聯網
上載者:User

註:轉載請註明出處,謝謝O(∩_∩)O~ 概述

    概述內容摘抄自官網:

    Redis 是一個開源(BSD許可)的,記憶體中的資料結構儲存系統,它可以用作資料庫、緩衝和訊息中介軟體. 它支援多種類型的資料結構,如 字串(strings), 散列(hashes), 列表(lists), 集合(sets), 有序集合(sorted sets) 與範圍查詢, bitmaps, hyperloglogs 和 地理空間(geospatial) 索引半徑查詢. Redis 內建了 複製(replication), LUA指令碼(Lua scripting), LRU驅動事件(LRU eviction), 事務(transactions) 和不同層級的 磁碟持久化(persistence), 並通過 Redis哨兵(Sentinel) 和自動 分區(Cluster)提供高可用性(high availability).

    你可以對這些類型執行 原子操作 , 列如: 字串(strings)的append 命令; 散列(hashes)的hincrby命令; 列表(lists)的lpush命令; 集合(sets)計算交集sinter命令, 計算並集union命令 和 計算差集sdiff命令; 或者 在有序集合(sorted sets)裡面擷取成員的最高排名zrangebyscore命令.

    為了實現其卓越的效能, Redis 採用運行在 記憶體中的資料集工作方式. 根據您的使用方式, 您可以每隔一定時間將 資料集匯出到磁碟 , 或者 追加到命令日誌中. 您也可以關閉持久化功能,將Redis作為一個高效的網路的快取資料功能使用.

    Redis 同樣支援 主從複製(能自動重連和網路斷開時自動重新同步),並且第一次同步是快速的非阻塞試的同步. 其他功能包括:     事務(Transactions)     訂閱分發(Pub/Sub)     LUA指令碼(Lua scripting)     到期自動刪除key     記憶體回收     自動容錯移轉

    您可以使用 大多數的程式設計語言 來使用Redis.

    Redis 使用 ANSI C 編寫並且能在絕大Linux系統上運行,基於BSD協議,對OS X沒有外部依賴. 我們支援Linux 和 OS X兩種系統的開發與測試,我們推薦使用Linux部署. Redis 可以像SmartOS一樣運行在Solaris系統中, 但是我們會最大力度的支援它. 官方不支援Windos版本的Redis,但微軟開發和維護著支援win-64 的Redis版本

    OK,以上都是說過場,下面開始實戰。 Redis的安裝、運行

    server版本的redis安裝請移步:把redis安裝到ubuntu-14.04.1-server

    推薦在linux下使用Redis,windows版本的也有,不過不是官方維護的,由微軟的技術團隊負責維護和支援(當然跟官方的一樣有權威性。)。下面將介紹在ubuntu下如何安裝,其他linux版本的其實也大同小異了。

    目前redis最新版本是3.0.7,具體更新等內容請移至官網查看,輸入以下命令:

              $ wget http://download.redis.io/releases/redis-3.0.7.tar.gz        $ tar xzf redis-3.0.7.tar.gz        $ cd redis-3.0.7        $ make      

    第一個命令是下載軟體包,第二個事解壓縮,第三個是進入redis目錄,第四個是編譯(c開發的不想java的拿來即用,不同平台編譯方式會略有差異,所以不會給直接能啟動並執行檔案,當然,也給不出(;`O´)o)。

    使用以下命令運行redis:

              redis-server      

    經過以上幾步,redis服務就已經開始運行了,此處採用的不含配置的啟動方式,也可以使用以下命令使用含配置的啟動方式:

              redis-server redis.conf      

    配置的具體參數可以通過編輯redis.conf修改,至於如何修改,官網也有相關文檔,此處只坐簡單的示範,就不多說。

    命令列運行啟動服務的命令會進入redis啟動成功的介面,我們可以在命令後面加上“&”符號讓命令在後台運行,以便更方便的操作(當然,如果你使用的帶案頭的ubuntu,你完全可以再開啟一個終端來執行後面的操作)

    運行用戶端即可開始使用redis,輸入以下命令進入用戶端(同時也能檢查redis是否正常運行):

              $redis-cli      

    如果配置了要求輸入密碼登陸的,需要使用如下命令:

              redis-cli -a password //串連其他主機添加參數 -h host -p port      

    命令列輸入“ping”測試。

    然後可以往裡面添加資料了,下面添加一個String:

              set name anxpp      

    成功操作命令列會提示“OK”(java用戶端的set函數也是這樣返回的),接下來就擷取設定的這個值:

              get name      

    當然,命令列會輸出剛剛set進去的值“anxpp”,這部分暫時就介紹這麼多了,如需瞭解更多,還請移步官網O(∩_∩)O~。

    關閉redis:redis-cli shutdown

    退出用戶端:quit 使用Java操作Redis

    相關的jar包支援

    以下皆為當前最新版本,點擊可下載。

    commons-pool2-2.4.2.jar:Commons Pool組件提供了一整套用於實現對象池化的架構,以及若干種各具特色的對象池實現,可以有效地減少處理對象池化時的工作量,為其它重要的工作留下更多的精力和時間。

     jedis-2.8.1.jar:redis用戶端支援jar包。

    串連並擷取操作對象

              public class RedisDemo {            JedisPool pool;            Jedis jedis;            public RedisDemo() {                pool = new JedisPool(new JedisPoolConfig(), "192.168.40.129");                jedis = pool.getResource();        //      jedis.auth("password");//如果配置了密碼            }        }      

    下面的各種方法,都會添加到上面這個RedisDemo類中,並且一些說明都會寫入注釋,所以就不會額外的解釋了。

    Redis儲存初級的字串

                  /**             * 添加一個新值,若這個key已經存在,則替換掉之前的值             * @param key 值的key             * @param value 要添加的值             * @return 添加成功時會返回“OK”,否則返回錯誤資訊             */            public String setString(String key,String value){                return jedis.set(key, value);            }            /**             * 擷取值             * @param key 要擷取的值對應的key             * @return 若key存在,返回對應的值,若不存在,返回null             */            public String getString(String key){                return jedis.get(key);            }            /**             * 修改資料             * @param key 要修改的值的key             * @param appendStr 要添加的內容             * @return 返回當前key對應String的長度             * 若key不存在,就新增值,若存在,就添加到已存在的String的後面             */            public long appendString(String key,String appendStr){                jedis.del(key);                return
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.