JAVA 中應用 Redis

redis 是徹底開源免費的,遵照BSD協議,是一個高性能的key-value數據庫。java

redis 與其餘key-value 緩存產品有如下三個特色:redis

1) 支持數據持久化,能夠將內存中的數據保存在磁盤中,重啓的時候能夠再次加載進行使用。數據庫

2) redis不只僅支持簡單的key-value類型的數據,同時還提供list set  zset  hash等數據結構的存儲。windows

3) redis支持數據備份,即master-slave模式的數據備份。api

redis 優勢:緩存

1)性能極高               讀的速度是110000次/s    寫的速度是81000次/s服務器

2) 豐富的數據類型      redis支持二進制案例的string、  list、  hash、  set、ordered set數據類型操做。數據結構

3) 原子                        redis全部操做都是原子性的,要麼成功要麼失敗徹底不執行。單個操做是原子性,多個操做也支持事務,即原子性,經過multi和exec指令包起來。app

 

redis一般被稱爲數據結構服務器,由於值(value)能夠是字符串(string) 哈希(map) 列表(list)集合(sets)  有序集合(sorted sets)等類型。maven

1.啓動redis 服務時,出現以下圖:

解決方法:

 刪除 E:\redis 文件夾下的 *.rdb 文件,重啓redis容器便可

成功啓動redis服務:

 

 

 

客戶端命令

 

如下主要講Java中使用jedis庫操做redis。

一。如下摘自百度百科:

1. 什麼是Redis
Redis是由意大利人Salvatore Sanfilippo(網名:antirez)開發的一款內存高速緩存數據庫。Redis全稱爲:Remote Dictionary Server(遠程數據服務),該軟件使用C語言編寫,Redis是一個key-value存儲系統,它支持豐富的數據類型,如:string、list、set、zset(sorted set)、hash。
2. Redis特色
Redis之內存做爲數據存儲介質,因此讀寫數據的效率極高,遠遠超過數據庫。以設置和獲取一個256字節字符串爲例,它的讀取速度可高達110000次/s,寫速度高達81000次/s。
Redis跟memcache不一樣的是,儲存在Redis中的數據是持久化的,斷電或重啓後,數據也不會丟失。由於Redis的存儲分爲內存存儲、磁盤存儲和log文件三部分,重啓後,Redis能夠從磁盤從新將數據加載到內存中,這些能夠經過配置文件對其進行配置,正由於這樣,Redis才能實現持久化。
Redis支持主從模式,能夠配置集羣,這樣更利於支撐起大型的項目,這也是Redis的一大亮點。
3. Redis應用場景,它能作什麼
衆多語言都支持Redis,由於Redis交換數據快,因此在服務器中經常使用來存儲一些須要頻繁調取的數據,這樣能夠大大節省系統直接讀取磁盤來得到數據的I/O開銷,更重要的是能夠極大提高速度。
拿大型網站來舉個例子,好比a網站首頁一天有100萬人訪問,其中有一個板塊爲推薦新聞。要是直接從數據庫查詢,那麼一天就要多消耗100萬次數據庫請求。上面已經說過,Redis支持豐富的數據類型,因此這徹底能夠用Redis來完成,將這種熱點數據存到Redis(內存)中,要用的時候,直接從內存取,極大的提升了速度和節約了服務器的開銷。
總之,Redis的應用是很是普遍的,並且極有價值,真是服務器中的一件利器,因此從如今開始,咱們就來一步步學好它。


二 。 jedis是官方推薦的,使用Java操做redis的類庫,推薦你們使用maven去構建項目,maven所需的jedis依賴以下:

<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>2.9.0</version>
</dependency>
  其實這個依賴只有3個jar包,jedis-2.9.0.jar,commons-pool-1.6.jar,commons-pool2-2.4.2.jar,後面的兩個common的pool包,是配置jedis的鏈接池用的,若是不想使用鏈接池,那麼只要導入jedis-2.9.0.jar就夠了。 

 

1.java 中  簡單的redis鏈接示例     

左圖  爲鏈接代碼           右圖爲  運行結果

 

               

2.  初始化redis鏈接池  

此處  是鏈接池的初始化配置。

從鏈接池中獲取鏈接的時候,運行報錯以下:

解決方式:

主要是因爲服務啓動的方式  。具體參考如下博文。

http://blog.csdn.net/u010011737/article/details/51149324

http://blog.csdn.net/rchm8519/article/details/48347797

 

 

 

Windows下使用redis requirepass認證不起做用

1.設置密碼   

      1)命令行的形式去修改

      2) 修改安裝目錄下的redis.Windows.conf 配置文件,找到#requirepass footbared   ,去掉註釋,變成 requirepass   mypassword

             ps:重啓以後,沒有起做用,在可會斷,輸入命令   config get requirepass   會出現

         

2. 建立redis-server.exe的快捷方式,右鍵快捷方式屬性,在目標後面增長 redis.windows.conf    這裏很關鍵,雖然以前咱們修改了 .conf文件,可是exe卻沒有使用這個conf

因此 咱們須要手動指定一下 exe  按照修改後的.conf運行。

 

redis 密碼相關 可參考如下博文:

http://blog.csdn.net/lxpbs8851/article/details/8136126

 

修改爲功密碼之後  重啓  就可用

相關文章
相關標籤/搜索