Linux CentOS 6.x 開發配置文檔 8 - Redis
RE mote DI ctionary S erver,能夠直接理解爲遠程字典服務,也就是基於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"));
}
歡迎關注本站公眾號,獲取更多信息