Linux CentOS 6.x 開發配置文檔 8 - Redis

REmote DIctionary Server,能夠直接理解爲遠程字典服務,也就是基於Key-Value模式Memcached+Database Persistence。
 

Redis 是一個開源的key-value內存數據庫。支持的數據類型有:String,list,set,sorted set 和 hash

Redis 命令參考: http://redisdoc.com

1,下載:wget  http://download.redis.io/releases/redis-2.8.19.tar.gz
2,解壓:tar zxvf redis-2.8.19.tar.gz
3,編譯:make
4,安裝:make install
5,打開Redis的服務器:/home/Redis/src/redis-server
6,打開Redis的客戶端:/home/Redis/src/redis-cli(之後直接使用 redis -cli ,有中文的話,使用 redis -cli  --raw
7,打開Redis性能測試工具:redis-benchmark
8,測試放數據:set a 123
9,測試取數據:get a,若是出現「123」,則說明成功了! (在線測試: http://try.redis.io
10,關閉Redis服務:redis-cli shutdown
        --redis服務關閉後,緩存數據會自動dump到硬盤上,硬盤地址爲redis.conf中的配置項dbfilename dump.rdb所設定
        --強制備份數據到磁盤:redis-cli save 或者 redis-cli -p 6380 save(指定端口)
11,服務自啓動
cp redis.conf /etc
vim /etc/redis.conf,將守護進程:daemonize  no  改爲:daemonize  yes
vim /etc/rc.local,添加:/home/Redis/src/redis-server /etc/redis.conf


Java 客戶端須要Jedis(Jedis 是 Redis 官方首選的 Java 客戶端開發包)
https://github.com/xetorthio/jedis/downloads


Redis 操做:
1,簡單的set和get:
set a 123
get a
顯示:123

2,追加
append a 456
get a
顯示:123456

2.1,加 1 操做
set age 18
incr age
顯示:19

3,set
mset a1 1 a2 2 a3 3
mget a1 a2 a3
顯示:
1) "1"
2) "2"
3) "3"

4,map   ========================TODO==================

Map <String, String> map =  new  HashMap<String, String> (); 
map.put(
"name", "fujianchao" ); 
map.put(
"password", "123" ); 
map.put(
"age", "12" ); 
//  存入一個map  
jedis.hmset("user" , map);
//  map key的個數  System.out.println("map的key的個數" + jedis.hlen("user" ));  //  map key  System.out.println("map的key" + jedis.hkeys("user" ));  //  map value  System.out.println("map的value" + jedis.hvals("user" ));  //  (String key, String... fields)返回值是一個list  List<String> list = jedis.hmget("user", "age", "name" ); System.out.println( "redis中key的各個 fields值:" + jedis.hmget("user", "age", "name") +  list.size());  //  刪除map中的某一個鍵 的值 password  //  固然 (key, fields) 也能夠是多個fields  jedis.hdel("user", "age" ); System.out.println( "刪除後map的key" + jedis.hkeys("user" ));

    
5,List
lpush list a
lpush list aa
lpush list aaa
lpush list aaaa
獲取方法:(根據索引獲取,-1 所有;)
lrange list 0 -1,顯示:
1) "aaaaa"
2) "aaaa"
3) "aaa"
4) "aa"
5) "a"
獲取List中的第1個:lrange list 0 0
獲取List中的第2個:lrange list 2 2
獲取List中的第2個和第3個:lrange list 1 2
獲取棧頂:lpop list
刪除:del list

6,
顯示:

7,
顯示:

8,
顯示:

9,

顯示:

    public static void main(String[] args) {
        Jedis jedis = new Jedis("127.0.0.1");
        
        System.out.println(jedis.get("key"));
        
        // 添加
        jedis.set("a", "啊");
        System.out.println(jedis.get("a"));
        
        // 刪除
        jedis.del("a");
        System.out.println(jedis.get("a"));
    }
相關文章
相關標籤/搜索