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下運行以下命令進行安裝java
$ 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服務.linux
$./redis-server
注意這種方式啓動redis 使用的是默認配置。也能夠經過啓動參數告訴redis使用指定配置文件使用下面命令啓動.git
$ ./redis-server redis.conf
redis.conf是一個默認的配置文件。咱們能夠根據須要使用本身的配置文件。
啓動redis服務進程後,就可使用測試客戶端程序redis-cli和redis服務交互了.
好比github
$ ./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程序redis
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的各類類型和類型相關的命令和一些具體的應用場景數據庫