Redis的Java入門實踐

來源:互聯網
上載者:User
1, Redis Hello World 的例子這裡用的包是Jedis。https://github.com/xetorthio/jedis/downloads把jar包引入工程,開啟redis的伺服器(redis下載及安裝見初步理解Redis及其安裝配置)。開始打招呼的例子,如下   1:  Jedis jedis = new Jedis("localhost");   2:  jedis.set("key", "Hello World!");   3:  String value = jedis.get("key");   4:  System.out.println(value);分別測試下各種資料結構        System.out.println("==String==");        Jedis jedis = new Jedis("localhost");        //String        jedis.set("key", "Hello World!");        String value = jedis.get("key");        System.out.println(value);                //List        System.out.println("==List==");        jedis.rpush("messages", "Hello how are you?");        jedis.rpush("messages", "Fine thanks. I'm having fun with redis.");        jedis.rpush("messages", "I should look into this NOSQL thing ASAP");        List<String> values = jedis.lrange("messages", 0, -1);        System.out.println(values);                //Set        System.out.println("==Set==");        jedis.sadd("myset", "1");        jedis.sadd("myset", "2");        jedis.sadd("myset", "3");        jedis.sadd("myset", "4");        Set<String> setValues = jedis.smembers("myset");        System.out.println(setValues);                //Sorted Set        jedis.zadd("hackers", 1940, "Alan Kay");        jedis.zadd("hackers", 1953, "Richard Stallman");        jedis.zadd("hackers", 1965, "Yukihiro Matsumoto");        jedis.zadd("hackers", 1916, "Claude Shannon");        jedis.zadd("hackers", 1969, "Linus Torvalds");        jedis.zadd("hackers", 1912, "Alan Turing");        setValues = jedis.zrange("hackers", 0, -1);        System.out.println(setValues);                //Hash        System.out.println("==Hash==");        Map<String, String> pairs = new HashMap<String, String>();        pairs.put("name", "Akshi");        pairs.put("age", "2");        pairs.put("sex", "Female");        jedis.hmset("kid", pairs);        values = jedis.hmget("kid", new String[]{"name", "age", "sex"});        System.out.println(values);                setValues = jedis.hkeys("kid");        System.out.println(setValues);        values = jedis.hvals("kid");        System.out.println(values);        pairs = jedis.hgetAll("kid");        System.out.println(pairs);然後解決持久化的問題redis是把所有的資料都放在記憶體的一種機制,需要經常同步到磁碟保證資料的持久化。資料全放在記憶體裡,真的很擔心我的小機器啊~回頭資料大了調台式機上把,再大了就。。。這個題目比較大些,以後可以單獨寫幾篇,現在急著用,入門麼,解決問題先。主要是兩種機制,快照(Snapshotting)和AOF(Append-only file)。AOF每次寫操作都會寫日誌,伺服器當機的時候從那些記錄檔裡恢複。不過記錄檔會特別大,我的機器肯定承受不起。快照是預設的方式,預設是每小時更新一次,手動調用save, shutdown, slave這些命令也會寫日誌。測試下save。先用用戶端查詢一下剛才代碼插入的東西。image東西還是在記憶體裡的。然後把伺服器關了。重新開啟,還是有結果。image驗證是不是因為時間過太久了自動儲存了,用java代碼新插入一個值。繼續關伺服器和重啟等操作。image沒有值。證明之前的值存在確實是因為自動儲存了,接著重新插入(這個如果覆蓋是個什麼情況呢:貌似直接無情地覆蓋了),然後執行下儲存。之後關閉,重啟。jedis.set("newkey", "Hello New New World!");String value = jedis.get("newkey");System.out.println(value);jedis.save();image可以看到newkey的值了,而且是覆蓋後的。save執行後會進行一次記錄備份。夠用了,先到這裡吧。

聯繫我們

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