【NoSql】Redis實踐篇-簡單demo實現(一)

來源:互聯網
上載者:User

標籤:


     Redis是一個key-value儲存系統。Redis的出現,很大程度補償了memcached這類key/value儲存的不足,在部分場合可以對關聯式資料庫起到很好的補充作用

 

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

 

Memcache與Redis區別

 

Memcache提供的資料類型少,只有索引值對,Redis提供的資料類型相對較多

Memcache關機就沒了,資料全部存到記憶體當中,但是沒有提供故障恢複,Redis可以將資料存放區到磁碟中

redis提供主從複製,Memcache無

Memcache是多線程的(使用協議解決的),redis是單線程


  

Windows下Redis的安裝使用

 

1,安裝Redis

 

官方下載:http://redis.io/download可以根據需要下載不同版本

 

windows版:https://github.com/mythz/redis-windows

 

下載完成後 可以右鍵解壓到 某個硬碟下比如E:\redis64-2.6。

 

2,啟動Redis

 

進入redis目錄後 開啟服務  (注意加上redis.conf)

 

redis-server.exeredis.conf

這個視窗要保持開啟  關閉時redis服務會自動關閉




注:redis會自動儲存資料到硬碟 所以如果是第二次開啟時 多了一個 DB loaded from disk

 

3,測試使用

 

另外開啟一個命令列視窗 進入redis目錄下(注意修改自己的ip)

 

redis-cli.exe -h 192.168.24.215 -p 6379 




4,利用JAVA操作Redis


import org.junit.After;  import org.junit.Before;  import org.junit.Test;  import redis.clients.jedis.Jedis;  import redis.clients.jedis.JedisPool;  import redis.clients.jedis.JedisPoolConfig;    import javax.sound.midi.Soundbank;  import java.util.*;      public class RedisTest {      JedisPool pool;      Jedis jedis;      @Before      public void setUp() {          pool = new JedisPool(new JedisPoolConfig(), "192.168.24.215");            jedis = pool.getResource();         /*  jedis.auth("password");  */    }        /**      * Redis儲存初級的字串      * CRUD      */      @Test      public void testBasicString(){          //-----添加資料----------          jedis.set("name","hejingyuan");//向key-->name中放入了value-->hejingyuan          System.out.println(jedis.get("name"));//執行結果:hejingyuan            //-----修改資料-----------          //1、在原來基礎上修改          jedis.append("name","xvshu");   //很直觀,類似map 將xvshu append到已經有的value之後          System.out.println(jedis.get("name"));//執行結果:hejingyuanxvshu            //2、直接覆蓋原來的資料          jedis.set("name","何靜媛");          System.out.println(jedis.get("name"));//執行結果:何靜媛            //刪除key對應的記錄          jedis.del("name");          System.out.println(jedis.get("name"));//執行結果:null            /**          * mset相當於          * jedis.set("name","hejingyuan");          * jedis.set("xvshu","何靜媛");          */          jedis.mset("name","hejingyuan","xvshu","何靜媛");          System.out.println(jedis.mget("name","xvshu"));        } }


輸出結果:

 

hejingyuan

hejingyuanxvshu

何靜媛

null

[hejingyuan, 何靜媛]

 

結束語:

 

     在操作過程中,Redis通過快照(snapshotting)方式預設儲存到硬碟中,Redis預設會將快照檔案儲存體在目前的目錄(可CONFIG GETdir來查看)的dump.rdb檔案中,可以通過配置dir和dbfilename兩個參數分別指定快照檔案的儲存路徑和檔案名稱。

 

在我們操作Redis過程中,它也在不斷的向硬碟中儲存





java操作Redis的各種測試:http://flychao88.iteye.com/blog/1527163

 




著作權聲明:本文為博主原創文章,未經博主允許不得轉載。

【NoSql】Redis實踐篇-簡單demo實現(一)

相關文章

聯繫我們

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