小編給大家分享一下redis與spring整合使用的示例分析,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!
成都創(chuàng)新互聯(lián)公司專業(yè)網(wǎng)站制作、成都網(wǎng)站設(shè)計,集網(wǎng)站策劃、網(wǎng)站設(shè)計、網(wǎng)站制作于一體,網(wǎng)站seo、網(wǎng)站優(yōu)化、網(wǎng)站營銷、軟文營銷等專業(yè)人才根據(jù)搜索規(guī)律編程設(shè)計,讓網(wǎng)站在運(yùn)行后,在搜索中有好的表現(xiàn),專業(yè)設(shè)計制作為您帶來效益的網(wǎng)站!讓網(wǎng)站建設(shè)為您創(chuàng)造效益。
方法如下
第一步,在項(xiàng)目中加入redis的pom代碼:
redis.clients jedis 2.6.0
第二步,spring中加載redis配置文件:applicationContext-redis.xml,內(nèi)容如下
第三步,編寫連接redis服務(wù)端的屬性文件:redis.properties
redis.maxTotal=100 redis.node1.host=127.0.0.1 redis.node1.port=6379
第四步,編寫redis的相關(guān)操作方法類,F(xiàn)unction類和RedisService類:
Funcrion類:
package xx.service; /** * 為了抽取相同的操作代碼 * @author yeying *Description:
*Company:
* @date:2017年12月5日 下午9:02:44 */ public interface Function{ public T callback(E e); }
RedisService類:
package com.taotao.common.service; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import redis.clients.jedis.ShardedJedis; import redis.clients.jedis.ShardedJedisPool; /** * redis的相關(guān)操作 * @author yeying *Description:
*Company:
* @date:2017年12月3日 下午2:11:47 */ @Service public class RedisService { @Autowired(required=false) //需要再注入進(jìn)去 private ShardedJedisPool shardedJedisPool; privateT execute(Function fun){ ShardedJedis shardedJedis = null; try { // 從連接池中獲取到j(luò)edis分片對象 shardedJedis = shardedJedisPool.getResource(); // 從redis中獲取數(shù)據(jù) return fun.callback(shardedJedis); } catch (Exception e) { e.printStackTrace(); } finally { if (null != shardedJedis) { // 關(guān)閉,檢測連接是否有效,有效則放回到連接池中,無效則重置狀態(tài) shardedJedis.close(); } } return null; } /** * 執(zhí)行set操作 * @param key * @param value * @return */ public String set(final String key,final String value){ return this.execute(new Function () { @Override public String callback(ShardedJedis e) { return e.set(key, value); } }); } /** * 執(zhí)行set操作,并設(shè)置生存時間,單位為秒 * @param key * @param value * @param seconds * @return */ public String set(final String key,final String value,final Integer seconds){ return this.execute(new Function () { @Override public String callback(ShardedJedis e) { String str =e.set(key, value); e.expire(key, seconds); return str; } }); } /** * 執(zhí)行g(shù)et操作 * @param key * @return */ public String get(final String key){ return this.execute(new Function () { @Override public String callback(ShardedJedis e) { return e.get(key); } }); } /** * 執(zhí)行set操作 * @param key * @return */ public Long del(final String key){ return this.execute(new Function () { @Override public Long callback(ShardedJedis e) { return e.del(key); } }); } /** * 設(shè)置生存時間,單位為秒 * @param key * @param seconds * @return */ public Long expire(final String key, final Integer seconds) { return this.execute(new Function () { @Override public Long callback(ShardedJedis e) { return e.expire(key, seconds); } }); } }
第五步,啟動redis服務(wù),redis-server.exe,雙擊打開:
看完了這篇文章,相信你對“redis與spring整合使用的示例分析”有了一定的了解,如果想了解更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!