關於Redis的簡單介紹
REmote DIctionary Server(redis)緩存技術是一個高性能的key-value存儲系統。
它通常被稱爲數據結構服務器,因爲值(value)可以是字符串(String),哈希(Hash),列表(List),集合(Sets)和有序集合(sorted sets)等類型。
Redis與其他key-value緩存產品相比有以下優點:
1.Redis支持數據的持久化,可以將內存中的數據保存到磁盤中,重啓的時候可以再次加載使用。
2.Redis不僅僅支持簡單的key-value類型的數據,還提供hash,list,set,zset等數據結構的存儲。
3.Redis支持數據的備份。
java中redis緩存技術的使用
首先,需要在GitHub上下載redisGitHub下載地址,下載解壓後,即可使用
雙擊redis-server.exe文件,開啓redis服務,再雙擊redis-cli.exe文件,可以在redis的命令臺中來使用redis
OK,以上是在命令臺中使用redis,那麼如何在MyEclipse中的java程序中使用呢?
首先,需要下載java操作redis的jar庫:jedis.jar和common-pool.jar,版本大家自行選擇,附下載地址jedis下載
下載完畢之後,將jar包導入到需要使用的工程中,就可以調用jar包中的API來操作redis啦
示例程序如下:
public class Test1 {
static Jedis jedis;
public static void main(String[] args) {
System.out.println("test ok");
//連接本地的redis服務
jedis=new Jedis("127.0.0.1",6379);
System.out.println("連接成功");
//查看服務是否運行
System.out.println(jedis.ping());
//刪除Redis的緩存
jedis.flushAll();
//字符串
jedis.set("key", "Hello World");//set
String v=jedis.get("key");//get
System.out.println(v);
//set
System.out.println("測試set賦值");
jedis.sadd("set", "趙成龍","趙雙龍","趙豔會");//set賦值(無序唯一)
// jedis.del("set");//刪除指定的鍵
// System.out.println(jedis.exists("set"));//判斷指定的鍵是否存在
// System.out.println(jedis.type("key"));//以字符串形式返回存儲在指定鍵的值的數據類型
// System.out.println(jedis.scard("set"));//返回set中元素的數量
for(String s:jedis.smembers("set")){
System.out.println(s);
}
//sorted set
System.out.println("測試有序集合");
jedis.zadd("math", 99, "Long");
jedis.zadd("math", 89, "hui");
jedis.zadd("math", 88, "xuan");
Set<String> set1=jedis.zrange("math", 0, 3);
for(String s:set1){
System.out.println(s);
}
//hash
System.out.println("--------------------------------------");
System.out.println("給hash指定的field設置指定的值");
jedis.hset("has", "name", "趙成龍");
jedis.hset("has", "sex", "男");
jedis.hset("has", "born", "1995-10-16");
jedis.hset("has", "signature", "得不到的永遠在騷動,被偏愛的都有恃無恐");
//Remove the specified field from an hash stored at key.
jedis.hdel("has", "born");
//If key holds a hash, retrieve the value associated to the specified field.
jedis.hget("has", "signature");
Map<String,String> map=jedis.hgetAll("has");
Set<String> set=map.keySet();
for(String s:set){
System.out.println(s+"的值爲"+map.get(s));
}
}
}