spring結合redis如何實現資料的快取
1、實現目標
通過redis快取資料。(目的不是加快查詢的速度,而是減少資料庫的負擔)
2、所需jar包
注意:jdies和commons-pool兩個jar的版本是有對應關係的,注意引入jar包是要配對使用,否則將會報錯。因為commons-pooljar的目錄根據版本的變化,目錄結構會變。前面的版本是org.apache.pool,而後面的版本是org.apache.pool2...
style="background-color: #0098dd; color: white; font-size: 17px; font-weight: bold;"3、redis簡介
redis是一個key-value儲存系統。和Memcached類似,它支援儲存的value型別相對更多,包括string(字串)、list(連結串列)、set(集合)、zset(sorted set --有序集合)和hash(雜湊型別)。這些資料型別都支援push/pop、add/remove及取交集並集和差集及更豐富的操作,而且這些操作都是原子性的。在此基礎上,redis支援各種不同方式的排序。與memcached一樣,為了保證效率,資料都是快取在記憶體中。區別的是redis會週期性的把更新的資料寫入磁碟或者把修改操作寫入追加的記錄檔案,並且在此基礎上實現了master-slave(主從)
3、編碼實現
1)、配置的檔案(properties)
將那些經常要變化的引數配置成獨立的propertis,方便以後的修改redis.properties
?1 2 3 4 5 6 7 8 9 |
redis.hostName= 127.0 . 0.1
redis.port= 6379
redis.timeout= 15000
redis.usePool= true
redis.maxIdle= 6
redis.minEvictableIdleTimeMillis= 300000
redis.numTestsPerEvictionRun= 3
redis.timeBetweenEvictionRunsMillis= 60000
|
2)、spring-redis.xml
redis的相關引數配置設定。引數的值來自上面的properties檔案
?1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
<bean
id= "jedisPoolConfig"
class = "redis.clients.jedis.JedisPoolConfig" >
<!--
<property name= "maxIdle"
value= "6" ></property>
<property
name= "minEvictableIdleTimeMillis"
value=
|