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執行後會進行一次記錄備份。夠用了,先到這裡吧。