-
在pom.xml中添加redis客戶端jedis依賴
-
<dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>2.6.0</version> </dependency>
redis linux下安裝
-
1.下載、上傳、解壓 redis-4.0.2.tar.gz 2.安裝C語言編譯環境 yum install -y gcc-c++ 3.編譯安裝 編譯:進入Redis解壓目錄執行make命令 安裝:make install 4.創建Redis專屬目錄 mkdir /usr/local/redis 5.將redis.conf復制到專屬目錄並修改 35 # By default Redis does not run as a daemon. Use 'yes' if you need it. 36 # Note that Redis will write a pid file in /var/run/redis.pid when daemonized. 37 daemonize yes 6.啟動Redis /usr/local/bin/redis-server /usr/local/redis/redis.conf 查看6379端口監聽情況 臨時指定端口號的啟動方式如下: /usr/local/bin/redis-server /usr/local/redis/redis.conf --port 7000 如果不指定配置文件位置則按默認配置啟動。 7.壓力測試 /usr/local/bin/redis-benchmark Redis每秒80000次寫操作,110000次讀操作。 8.通過Redis客戶端登錄Redis服務器 [root@right bin]# /usr/local/bin/redis-cli [-p 6379] 127.0.0.1:6379> ping PONG 127.0.0.1:6379> exit [root@right bin]# 9.停止Redis服務器 按默認6379端口號停止:/usr/local/bin/redis-cli shutdown 停止指定服務器:/usr/local/bin/redis-cli -h 127.0.0.1 -p 6379 shutdown 在客戶端登錄狀態下停止:127.0.0.1:6379> shutdown
新建spring配置文件 spring-redis.xml
-
<bean class="redis.clients.jedis.JedisPool" id="jedisPool"> <constructor-arg name="host" value="${redis.host}"></constructor-arg> <constructor-arg name="poolConfig" ref="jedisPoolConfig"></constructor-arg> <constructor-arg name="port" value="${redis.port}"></constructor-arg> </bean> <bean class="redis.clients.jedis.JedisPoolConfig" id="jedisPoolConfig"> <property name="maxIdle" value="${maxIdle}" /> <property name="maxTotal" value="${maxActive}" /> <property name="maxWaitMillis" value="${maxWait}" /> <property name="testOnBorrow" value="${testOnBorrow}" /> <property name="blockWhenExhausted" value="${blockWhenExhausted}" /> </bean>
-
新建redis.properties屬性文件,相關的配置信息在屬性文件中配置,比如host port 等等
-
# 主要配置,其他配置可不用填寫
redis.host=對應的IP地址 redis.port=6379 #對應的端口號,默認6379 maxIdle=300 maxActive=1000 maxWait=1000 maxTotal=600 testOnBorrow=false blockWhenExhausted=true其他配置說明
-
#ip地址 redis.hostName=127.0.0.1 #端口號 redis.port=6379 #如果有密碼 redis.password= #客戶端超時時間單位是毫秒 默認是2000 redis.timeout=10000 #最大空閑數 redis.maxIdle=300 #連接池的最大數據庫連接數。設為0表示無限制,如果是jedis 2.4以后用redis.maxTotal #redis.maxActive=600 #控制一個pool可分配多少個jedis實例,用來替換上面的redis.maxActive,如果是jedis 2.4以后用該屬性 redis.maxTotal=1000 #最大建立連接等待時間。如果超過此時間將接到異常。設為-1表示無限制。 redis.maxWaitMillis=1000 #連接的最小空閑時間 默認1800000毫秒(30分鍾) redis.minEvictableIdleTimeMillis=300000 #每次釋放連接的最大數目,默認3 redis.numTestsPerEvictionRun=1024 #逐出掃描的時間間隔(毫秒) 如果為負數,則不運行逐出線程, 默認-1 redis.timeBetweenEvictionRunsMillis=30000 #是否在從池中取出連接前進行檢驗,如果檢驗失敗,則從池中去除連接並嘗試取出另一個,數據量大的時候建議關閉 redis.testOnBorrow=true #在空閑時檢查有效性, 默認false redis.testWhileIdle=true
編寫redis通用工具類JedisCacheClient,因為我目前只用到三個,所以只寫了三個最常用的set get 和expire
-
@Service //把當前類放入到spring的IOC容器中 public class JedisCacheClient { @Autowired //自動注入redis連接池 private JedisPool jedisPool; /** * setVExpire(設置key值,同時設置失效時間 秒 */ public void set(String key, String value) { Jedis jedis = null; try { jedis = jedisPool.getResource(); jedis.set(key, value); } catch (Exception e) { e.printStackTrace(); } finally { this.close(jedis); } } /** * (存入redis數據) */ public void expire(String key, String value, Integer times) { Jedis jedis = null; try { jedis = jedisPool.getResource(); jedis.set(key, value); jedis.expire(key, times); } catch (Exception e) { e.printStackTrace(); } finally { this.close(jedis); } } /** * 刪除redis數據 */ public void del(String key) { Jedis jedis = null; try { jedis = jedisPool.getResource(); jedis.del(key); } catch (Exception e) { e.printStackTrace(); } finally { this.close(jedis); } }
/** * 獲取key的值 */
public String get(String key) { Jedis jedis = null; try { jedis = jedisPool.getResource(); String s = jedis.get(key); return s; } catch (Exception e) { e.printStackTrace(); } finally { this.close(jedis); } return null; } /** * 釋放連接 * @param jedis */ public void close(Jedis jedis){ if (jedis != null) { jedis.close(); if (jedis.isConnected()) { try { jedis.disconnect(); } catch (Exception e) { e.printStackTrace(); } } } } }
-
-
安裝redis本地客戶端Redis Desktop Manager進行測試和檢驗測試
-
安裝Redis Desktop Manager,一直下一步即可
-
連接到redis服務器
- 測試代碼
-