1 Redis客戶端

1.1 自帶命令列客戶端
l 命令格式:
|
./redis-cli -h 127.0.0.1 -p 6379 |
l 修改redis組態檔(解決IP系結問題)
# bind 127.0.0.1 系結的IP才能訪問redis服務器,注釋掉該配置
protected-mode yes 是否開啟保護模式,由yes該為no
l 引數說明:
-h:redis服務器的ip地址
-p:redis實體的埠號
l 默認方式
如果不指定主機和埠也可以
|
./redis-cli |
*默認主機地址是127.0.0.1
* 默認埠是6379
1.2 圖形界面客戶端(了解)
前提:需要安裝圖形界面管理器

1.2.1連接超時解決
遠程連接redis服務,需要關倍訓者修改防火墻配置,
修改防火墻設定:
l 第一步:編輯iptables
|
vim /etc/sysconfig/iptables |
在命令模式下,選定要復制的那一行的末尾,然后點擊鍵盤yyp,就完成復制,然后修改,

l 第二步:重啟防火墻
|
service iptables restart iptables:清除防火墻規則: [確定] iptables:將鏈設定為政策 ACCEPT:filter [確定] iptables:正在卸載模塊: [確定] iptables:應用防火墻規則: [確定] |
1.2.2多資料庫支持
l 默認一共是16個資料庫,每個資料庫之間是相互隔離(但是可以使用flushall一次清空所有的庫),資料庫的數量是在redis.conf中配置的,

l 切換資料庫使用命令:select資料庫編號(0-15)
例如:select 1
1.3 程式客戶端之Java客戶端Jedis
1.3.1Jedis介紹
l Redis不僅使用命令客戶端來操作,而且可以使用程式客戶端操作,
l 現在基本上主流的語言都有客戶端支持,比如Java、C、C#、C++、php、Node.js、Go等,
l 在官方網站里列一些Java的客戶端,有Jedis、Redisson、Jredis、JDBC-Redis、等其中官方推薦使用Jedis和Redisson,
l 在企業中用的最多的就是Jedis,下面我們就重點學習下Jedis,
l Jedis同樣也是托管在github上,地址:https://github.com/xetorthio/jedis
1.3.2添加jar包
|
<dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>2.9.0</version> </dependency> |
1.3.3單實體連接
注意事項:需要去設定redis服務器的防火墻策略(臨時關閉、永久關閉、埠暴露)
|
@Test publicvoid testJedis() { //創建一個Jedis的連接 Jedis jedis = new Jedis("127.0.0.1", 6379); //執行redis命令 jedis.set("key1", "hello world"); //從redis中取值 String result = jedis.get("key1"); //列印結果 System.out.println(result); //關閉連接 jedis.close();
} |
1.3.4連接池連接
|
@Test publicvoid testJedisPool() { //創建一連接池物件 JedisPool jedisPool = new JedisPool("127.0.0.1", 6379); //從連接池中獲得連接 Jedis jedis = jedisPool.getResource(); String result = jedis.get("key1") ; System.out.println(result); //關閉連接 jedis.close();
//關閉連接池 jedisPool.close(); } |
1.3.5Spring整合JedisPool(自學)
添加spring的jar包
l 配置spring組態檔applicationContext.xml
|
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:context="http://www.springframework.org/schema/context" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd ">
<!-- 連接池配置 --> <bean id="jedisPoolConfig" class="redis.clients.jedis.JedisPoolConfig"> <!-- 最大連接數 --> <property name="maxTotal" value="30" /> <!-- 最大空閑連接數 --> <property name="maxIdle" value="10" /> <!-- 每次釋放連接的最大數目 --> <property name="numTestsPerEvictionRun" value="1024" /> <!-- 釋放連接的掃描間隔(毫秒) --> <property name="timeBetweenEvictionRunsMillis" value="30000" /> <!-- 連接最小空閑時間 --> <property name="minEvictableIdleTimeMillis" value="1800000" /> <!-- 連接空閑多久后釋放, 當空閑時間>該值 且 空閑連接>最大空閑連接數 時直接釋放 --> <property name="softMinEvictableIdleTimeMillis" value="10000" /> <!-- 獲取連接時的最大等待毫秒數,小于零:阻塞不確定的時間,默認-1 --> <property name="maxWaitMillis" value="1500" /> <!-- 在獲取連接的時候檢查有效性, 默認false --> <property name="testOnBorrow" value="false" /> <!-- 在空閑時檢查有效性, 默認false --> <property name="testWhileIdle" value="true" /> <!-- 連接耗盡時是否阻塞, false報例外,ture阻塞直到超時, 默認true --> <property name="blockWhenExhausted" value="false" /> </bean>
<!-- redis單機 通過連接池 --> <bean id="jedisPool" class="redis.clients.jedis.JedisPool" destroy-method="close"> <constructor-arg name="poolConfig" ref="jedisPoolConfig" /> <constructor-arg name="host" value="192.168.242.130" /> <constructor-arg name="port" value="6379" /> </bean> </beans> |
l 測驗代碼
|
@Test publicvoid testJedisPool() { JedisPool pool = (JedisPool) applicationContext.getBean("jedisPool"); Jedis jedis = null; try { jedis = pool.getResource();
jedis.set("name", "lisi"); String name = jedis.get("name"); System.out.println(name); } catch (Exception ex) { ex.printStackTrace(); } finally { if (jedis != null) { // 關閉連接 jedis.close(); } } } |
1 Redis客戶端
1.1 自帶命令列客戶端
l 命令格式:
|
./redis-cli -h 127.0.0.1 -p 6379 |
l 修改redis組態檔(解決IP系結問題)
# bind 127.0.0.1 系結的IP才能訪問redis服務器,注釋掉該配置
protected-mode yes 是否開啟保護模式,由yes該為no
l 引數說明:
-h:redis服務器的ip地址
-p:redis實體的埠號
l 默認方式
如果不指定主機和埠也可以
|
./redis-cli |
*默認主機地址是127.0.0.1
* 默認埠是6379
1.2 圖形界面客戶端(了解)
前提:需要安裝圖形界面管理器
1.2.1連接超時解決
遠程連接redis服務,需要關倍訓者修改防火墻配置,
修改防火墻設定:
l 第一步:編輯iptables
|
vim /etc/sysconfig/iptables |
在命令模式下,選定要復制的那一行的末尾,然后點擊鍵盤yyp,就完成復制,然后修改,
l 第二步:重啟防火墻
|
service iptables restart iptables:清除防火墻規則: [確定] iptables:將鏈設定為政策 ACCEPT:filter [確定] iptables:正在卸載模塊: [確定] iptables:應用防火墻規則: [確定] |
1.2.2多資料庫支持
l 默認一共是16個資料庫,每個資料庫之間是相互隔離(但是可以使用flushall一次清空所有的庫),資料庫的數量是在redis.conf中配置的,
l 切換資料庫使用命令:select資料庫編號(0-15)
例如:select 1
1.3 程式客戶端之Java客戶端Jedis
1.3.1Jedis介紹
l Redis不僅使用命令客戶端來操作,而且可以使用程式客戶端操作,
l 現在基本上主流的語言都有客戶端支持,比如Java、C、C#、C++、php、Node.js、Go等,
l 在官方網站里列一些Java的客戶端,有Jedis、Redisson、Jredis、JDBC-Redis、等其中官方推薦使用Jedis和Redisson,
l 在企業中用的最多的就是Jedis,下面我們就重點學習下Jedis,
l Jedis同樣也是托管在github上,地址:https://github.com/xetorthio/jedis
1.3.2添加jar包
|
<dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>2.9.0</version> </dependency> |
1.3.3單實體連接
注意事項:需要去設定redis服務器的防火墻策略(臨時關閉、永久關閉、埠暴露)
|
@Test publicvoid testJedis() { //創建一個Jedis的連接 Jedis jedis = new Jedis("127.0.0.1", 6379); //執行redis命令 jedis.set("key1", "hello world"); //從redis中取值 String result = jedis.get("key1"); //列印結果 System.out.println(result); //關閉連接 jedis.close();
} |
1.3.4連接池連接
|
@Test publicvoid testJedisPool() { //創建一連接池物件 JedisPool jedisPool = new JedisPool("127.0.0.1", 6379); //從連接池中獲得連接 Jedis jedis = jedisPool.getResource(); String result = jedis.get("key1") ; System.out.println(result); //關閉連接 jedis.close();
//關閉連接池 jedisPool.close(); } |
1.3.5Spring整合JedisPool(自學)
添加spring的jar包
l 配置spring組態檔applicationContext.xml
|
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:context="http://www.springframework.org/schema/context" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd ">
<!-- 連接池配置 --> <bean id="jedisPoolConfig" class="redis.clients.jedis.JedisPoolConfig"> <!-- 最大連接數 --> <property name="maxTotal" value="30" /> <!-- 最大空閑連接數 --> <property name="maxIdle" value="10" /> <!-- 每次釋放連接的最大數目 --> <property name="numTestsPerEvictionRun" value="1024" /> <!-- 釋放連接的掃描間隔(毫秒) --> <property name="timeBetweenEvictionRunsMillis" value="30000" /> <!-- 連接最小空閑時間 --> <property name="minEvictableIdleTimeMillis" value="1800000" /> <!-- 連接空閑多久后釋放, 當空閑時間>該值 且 空閑連接>最大空閑連接數 時直接釋放 --> <property name="softMinEvictableIdleTimeMillis" value="10000" /> <!-- 獲取連接時的最大等待毫秒數,小于零:阻塞不確定的時間,默認-1 --> <property name="maxWaitMillis" value="1500" /> <!-- 在獲取連接的時候檢查有效性, 默認false --> <property name="testOnBorrow" value="false" /> <!-- 在空閑時檢查有效性, 默認false --> <property name="testWhileIdle" value="true" /> <!-- 連接耗盡時是否阻塞, false報例外,ture阻塞直到超時, 默認true --> <property name="blockWhenExhausted" value="false" /> </bean>
<!-- redis單機 通過連接池 --> <bean id="jedisPool" class="redis.clients.jedis.JedisPool" destroy-method="close"> <constructor-arg name="poolConfig" ref="jedisPoolConfig" /> <constructor-arg name="host" value="192.168.242.130" /> <constructor-arg name="port" value="6379" /> </bean> </beans> |
l 測驗代碼
|
@Test publicvoid testJedisPool() { JedisPool pool = (JedisPool) applicationContext.getBean("jedisPool"); Jedis jedis = null; try { jedis = pool.getResource();
jedis.set("name", "lisi"); String name = jedis.get("name"); System.out.println(name); } catch (Exception ex) { ex.printStackTrace(); } finally { if (jedis != null) { // 關閉連接 jedis.close(); } } } |
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/53003.html
標籤:C
上一篇:面向物件程式設計寒假作業1
