Java中Redis簡單入門

Redis是一個開源的,先進的 key-value 存儲可用於構建高性能,可擴展的 Web 應用程序的解決方案。html

Redis官方網網站是:http://www.redis.io/,以下:java

Redis 有三個主要使其有別於其它不少競爭對手的特色:
  • Redis是徹底在內存中保存數據的數據庫,使用磁盤只是爲了持久性目的; 
  • Redis相比許多鍵值數據存儲系統有相對豐富的數據類型; 
  • Redis能夠將數據複製到任意數量的從服務器中; 

Redis優勢

  • 異常快速 : Redis是很是快的,每秒能夠執行大約110000設置操做,81000個/每秒的讀取操做。redis

  • 支持豐富的數據類型 : Redis支持最大多數開發人員已經知道如列表,集合,可排序集合,哈希等數據類型。sql

    這使得在應用中很容易解決的各類問題,由於咱們知道哪些問題處理使用哪一種數據類型更好解決。
  • 操做都是原子的 : 全部 Redis 的操做都是原子,從而確保當兩個客戶同時訪問 Redis 服務器獲得的是更新後的值(最新值)。數據庫

  • MultiUtility工具:Redis是一個多功能實用工具,能夠在不少如:緩存,消息傳遞隊列中使用(Redis原生支持發佈/訂閱),在應用程序中,如:Web應用程序會話,網站頁面點擊數等任何短暫的數據;

要在windows中安裝redis:windows

  • 在官網中下載redis壓縮包
  • 執行cmd命令找到redis的存放目錄,啓動服務器端,如圖:

而後再客戶端也能夠直接經過cmd命令鏈接,如圖:api

該圖是鏈接本地redis而且向其中set相似於map集合《「myKey」,「test」》。而後經過get方法獲取。緩存

上面作了redis的介紹以及安裝啓動服務器以及鏈接以後,接下來主要講解一下在Java中如何使用,這也是如今愈來愈流行的一項技術:tomcat

  • 首先在java中使用Redis,須要引入Redis驅動,就是jedis-2.1.0.jar,而這個jar包又依賴於commons-pool-1.6.jar以及tomcat-redis-session-manager-1.2-tomcat-7.jar,因此咱們至少須要這個三個jar包。
  • 第二步即是上面說的啓動本地redis服務器。
  • 而後在Java中經過驅動鏈接本地redis,以下:
     Jedis jedis = new Jedis("localhost");
    

      

  • 同時爲了測試鏈接成功能夠向上圖命令中那樣插入keyvlaue值,如: jedis.set("myKey", "成功");而後控制檯輸出獲取值:
    System.out.println("Redis key value :"+jedis.get("myKey"));
    

      

到這簡單redis在Java中就可使用了,如需瞭解更多功能,可查看中文apihttp://www.360doc.com/content/15/0328/12/5054188_458684113.shtml服務器

ps:redis存在的好處就在於無需頻繁的訪問數據庫,當一些數據不會發生變化時能夠直接添加到redis中,好比聊天一些歷史記錄等,相似於緩存,這樣大大的提升了性能,筆者建議在使用redis最好結合着數據庫一塊兒使用。下面複製一段代碼是筆者寫的一段結合redis和數據庫登錄的小測試功能中的一段代碼:

int user_id = 2;//用戶id
String user_name;//用戶名
if(jedis.hexists("user"+user_id, "user_name")){//判斷jedis中是否存在"user"+user_id哈希表而且value值爲user_name
user_name =jedis.hget("user"+user_id, "user_name");//若是存在直接獲取而後登錄
System.out.println("歡迎來到Redis登錄: "+user_name);
}else{//若是不存在,則須要查詢數據庫判斷用戶名密碼是否正確,若是存在則登錄,而且將其信息保存至redis
String sql = "select user_name from user_t where id = "+user_id+"";
try {
ResultSet rs =	conn.createStatement().executeQuery(sql);
if(rs.next()){
jedis.hset("user"+user_id, "user_name", rs.getString("user_name"));//保存至redis中
System.out.println("歡迎來到MySql登錄: "+rs.getString("user_name"));
}else{
System.out.println("歡迎 註冊");
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

  

到這裏一個算是完整的redis簡單入門就介紹完了。歡迎互相學習。

相關文章
相關標籤/搜索