1.簡介
redis是一個開源的key-value資料庫。它又經常被認為是一個資料結構伺服器。因為它的value不僅包括基本的string類型還有 list,set ,sorted set和hash類型。當然這些類型的元素也都是string類型。也就是說list,set這些集合類型也只能包含
string 類型。你可以在這些類型上做很多原子性的操作。比如對一個字元value追加字串(APPEND命令)。加加或者減減一個數字字串(INCR命令,當 然是按整數處理的).可以對list類型進行push,或者pop元素操作(可以類比棧和隊列)。對於set類型可以進行一些集合相關操作 (intersection union difference)。memcache也有類似與++,--的命令。
不過memcache的 value只包括string類型。遠沒有redis的value類型豐富。和memcahe一樣為了效能。redis的資料通常都是放到記憶體中的。當然 redis可以每間隔一定時間將記憶體中資料寫入到磁碟以防止資料丟失。redis也支援主從複製機制(master-slave replication)。redis的其他特性包括簡單的事務支援和 發布訂閱(pub/sub)通道功能,而且redis組態管理非常簡單。還有各種語言版本的開源用戶端類庫。
2.安裝
:http://redis.googlecode.com/files/redis-2.0.4.tar.gz
2.0目前是最新穩定版
可以在linux下運行如下命令進行安裝
$ tar xzf redis-2.0.4.tar.gz
$ cd redis-2.0.4
$ make
make完後 redis-2.0.4目錄下會出現編譯後的redis服務程式redis-server,還有用於測試的用戶端程式redis-cli
下面啟動redis服務.
$./redis-server
注意這種方式啟動redis 使用的是預設配置。也可以通過啟動參數告訴redis使用指定設定檔使用下面命令啟動.
$ ./redis-server redis.conf
redis.conf是一個預設的設定檔。我們可以根據需要使用自己的設定檔。
啟動redis服務進程後,就可以使用測試用戶端程式redis-cli和redis服務互動了.
比如
$ ./redis-cli
redis> set foo bar
OK
redis> get foo
"bar"
這裡示範了get和set命令操作簡單類型value的例子。foo是key ,bar是個string類型的value
沒linux的可以通過這個線上的來練習,當然線上版的很多管理相關的命令是不支援的。
http://try.redis-db.com/
3.java用戶端hello,world
用戶端jar包地址http://cloud.github.com/downloads/alphazero/jredis/jredis-1.0-rc2.jar 。版本目前有點老,支援到Redis 1.2.6。最新版2.0的還沒release
在eclipse中建立一個java項目,然後添加jredis包引用。下面是個hello,world程式
package jredisStudy;
import org.jredis.*;
import org.jredis.ri.alphazero.JRedisClient;
public class App {
public static void main(String[] args) {
try {
JRedis jr = new JRedisClient("192.168.56.55",6379); //redis服務地址和連接埠號碼
String key = "mKey";
jr.set(key, "hello,redis!");
String v = new String(jr.get(key));
String k2 = "count";
jr.incr(k2);
jr.incr(k2);
System.out.println(v);
System.out.println(new String(jr.get(k2)));
} catch (Exception e) {
// TODO: handle exception
}
}
}
好了redis環境已經搭建好了。後面會寫寫redis的各種類型和類型相關的命令和一些具體的應用情境
from:http://www.cnblogs.com/xhan/archive/2011/02/01/1948751.html