日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

Java操作Redis2種方法代碼詳解

瀏覽:200日期:2022-09-03 13:33:57

Java操作Redis的方式有下面兩種:

一、jedis

(1)maven配置

<dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>2.9.0</version></dependency>

(2)相關(guān)類

單節(jié)點(diǎn):redis.clients.jedis.Jedis

集群:redis.clients.jedis.JedisCluster

(3)說(shuō)明

使用的類和api不一樣,導(dǎo)致對(duì)redis單節(jié)點(diǎn)和集群要特地區(qū)別對(duì)待。 無(wú)法集成springCache。 JedisCluster沒(méi)有對(duì)象序列化/反序列化 api,需要自己實(shí)現(xiàn)。 jedis2.7版本才正式支持JedisCluster。

二、spring-data-redis

(1)maven配置

<dependency> <groupId>org.springframework.data</groupId> <artifactId>spring-data-redis</artifactId> <version>1.8.4.RELEASE</version></dependency>

(2)相關(guān)類

單節(jié)點(diǎn):org.springframework.data.redis.core.RedisTemplate

集群:org.springframework.data.redis.core.RedisTemplate

(3)說(shuō)明

使用方式統(tǒng)一,如:

redisTemplate.opsForValue().set(key, object);redisTemplate.opsForHash().put(key, hashKey, object);

可以集成SpringCache。

自帶序列化功能,4種:

stringRedisSerializer JdkSerializationRedisSerializer Jackson2JsonRedisSerializer OxmSerializer

(4)SpringCache功能

Spring 3.1 引入了基于注解(annotation)的緩存(cache)技術(shù),通過(guò)在既有代碼中添加少量它定義的各種annotation,即能夠達(dá)到緩存方法的返回對(duì)象的效果,支持和主流的專業(yè)緩存例如 EHCache,Memcache,Redis等集成,也支持以自行擴(kuò)展。注解可以標(biāo)記在一個(gè)類上,也可以標(biāo)記在方法上。

開(kāi)啟SpringCache功能:@EnableCaching

SpringCache注解:

@Cacheable --執(zhí)行方法前,判斷有無(wú)緩存,如果有直接從緩存中獲取結(jié)果進(jìn)行返回,否則放入緩存 @CacheEvict --觸發(fā)緩存的清除操作 @CachePut --每次都會(huì)執(zhí)行該方法,并將執(zhí)行結(jié)果以鍵值對(duì)的形式存入指定的緩存中

優(yōu)點(diǎn):

減少手寫緩存代碼量,通過(guò)少量的注釋標(biāo)簽和配置文件,即可達(dá)到使代碼具備緩存的能力。

底層Cache類型更換代碼無(wú)需改動(dòng),如由EHCache換成Redis。

缺點(diǎn):

注解無(wú)過(guò)期時(shí)間expire屬性,需自行擴(kuò)展。

使用限制:基于proxy 的spring aop帶來(lái)的內(nèi)部調(diào)用問(wèn)題,如this內(nèi)部調(diào)用,非public方法調(diào)用等。

放入緩存方法只使用connection.set,即緩存存入Redis都是String字符串類型。

(5)Tomcat插件RedisSessionManager

分布式系統(tǒng)要將HttpSession放入Redis共享,代碼又不想改動(dòng)的話,那么可以通過(guò)RedisSessionManager來(lái)集成,可以引入第三方插件RedisSessionManager和相關(guān)jar,在tomcat下配置即可。

配置

引入插件:

Tomcat7confcontext.xml下配置<Valve className='com.r.tomcat.session.management.RequestSessionHandlerValve'/><Manager className='com.r.tomcat.session.management.RequestSessionManager'/>

Tomcat7confRedisDataCache.properties配置redis.hosts=127.0.0.1:6379, 127.0.0.2:6379, 127.0.0.2:6380, ....redis.password=redis.cluster.enabled=true

優(yōu)點(diǎn)

session的代碼寫法不用動(dòng),依然使用傳統(tǒng)寫法session.setAttribute(key,value);引入插件后session由本地tomcat存儲(chǔ)改為了Redis,重啟tomcat也不用擔(dān)心session消失。

缺點(diǎn)

只能用于tomcat。

(6)SpringSession

這個(gè)技術(shù)重寫了HttpSession,以SpringSession來(lái)做,Spring Session提供了集群Session(Clustered Sessions)功能, 默認(rèn)采用外置的Redis來(lái)存儲(chǔ)Session數(shù)據(jù),以此來(lái)解決Session共享的問(wèn)題。

配置

maven: <dependency> <groupId>org.springframework.session</groupId> <artifactId>spring-session-data-redis</artifactId> </dependency>開(kāi)啟Reids鍵空間通知功能: notify-keyspace-events AKE開(kāi)啟Redis存儲(chǔ)springSession: @EnableRedisHttpSession(maxInactiveIntervalInSeconds=1800)

優(yōu)點(diǎn)

和web服務(wù)器無(wú)關(guān),甚至可以不用web服務(wù)器,也能支持session,是一種獨(dú)立于應(yīng)用服務(wù)器的方案。 配合spring-data-redis.jar使用,能夠支持Redis單節(jié)點(diǎn)、Sentinel、Redis3.x集群等。 HttpSession代碼無(wú)需做任何改動(dòng),依然使用傳統(tǒng)寫法session.setAttribute(key,value)。 SpringSession最新版本支持HttpSessionListener。

缺點(diǎn)

依賴Spring。

Spring版本要是4.1.6以上,servlet要是3.0.1以上,這樣對(duì)JDK(1.6+)和web服務(wù)器(tomcat7+)版本有限制。

(7)SpringSession使用session監(jiān)聽(tīng)器

SpringSession最新版本支持HttpSessionListener,該監(jiān)聽(tīng)器可以捕捉到session創(chuàng)建和銷毀,內(nèi)部采用Redis的Sub/Pub+鍵空間通知功能實(shí)現(xiàn)。

監(jiān)聽(tīng)器類

@EnableRedisHttpSession(maxInactiveIntervalInSeconds=1800)public class RedisHttpSessionConfig { /** * 注入監(jiān)聽(tīng)器 */ @Bean public SessionEventHttpSessionListenerAdapter listenerAdapter() { List<HttpSessionListener> listenerList = new ArrayList<>(); listenerList.add(new SessionListener()); // 注入自己的SessionListener類 return new SessionEventHttpSessionListenerAdapter(listenerList); }}

說(shuō)明

HttpSessionListener不推薦在RedisCluster下使用:因sessionDestoryed采取的是Redis鍵空間通知功能,鍵空間通知功能是在Redis2.8開(kāi)始新推出的,但在RedisCluster下鍵空間通知功能有bug,event觸發(fā)時(shí)不會(huì)publish通知到所有節(jié)點(diǎn),只對(duì)本節(jié)點(diǎn)的master/slave通知,故使用redisCluster的環(huán)境下,有可能會(huì)訂閱收不到sessionDestroyed消息,故不推薦在RedisCluster下使用HttpSessionListener。需要自己去實(shí)現(xiàn)SUBSCRIBE各個(gè)Redis節(jié)點(diǎn)捕捉sessionDestoryed功能。

重復(fù)監(jiān)聽(tīng):當(dāng)一個(gè)session銷毀時(shí),那么我們的listener的sessionDestroyed方法、所有微服務(wù)實(shí)例都會(huì)收到事件通知。會(huì)導(dǎo)致重復(fù),故需要注意這點(diǎn),需要應(yīng)用自行控制重復(fù)問(wèn)題。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Java
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
久久亚洲图片| 亚洲精品影视| 久久亚州av| 国产69精品久久| 99久精品视频在线观看视频| 欧美 日韩 国产一区二区在线视频 | 日本在线啊啊| 国产欧美日韩影院| 国产美女高潮在线| 国内精品麻豆美女在线播放视频| 久久精品国产99| av在线最新| 亚洲黄色在线| 日韩av二区在线播放| 美女视频网站久久| 久久国产欧美| 日韩在线一区二区| 国产精品一区亚洲| 成人日韩在线| 亚洲不卡视频| 福利在线免费视频| 久久高清免费观看| 久久99影视| 亚洲福利精品| 国产私拍福利精品视频二区| 日韩毛片在线| 日韩高清不卡一区| 日韩国产一区二区三区| 日韩在线卡一卡二| 精品视频一区二区三区在线观看 | 精品视频国产| 黄色亚洲在线| 美腿丝袜亚洲三区| 欧美特黄一级| 精品国产一区二区三区av片| 日韩午夜av| 精品久久久久中文字幕小说| 中日韩男男gay无套| 国产精品久久久久久av公交车| 99久久激情| 免费看一区二区三区| 亚洲专区欧美专区| 热三久草你在线| 日韩精品久久久久久久软件91| 国产精品久久久久av电视剧| 亚洲精品少妇| 久久亚洲精品中文字幕蜜潮电影| 欧美伊人久久| 在线一区免费观看| 国产美女高潮在线观看| 日韩av一区二| 99在线观看免费视频精品观看| 精品视频97| 91成人在线网站| 香蕉人人精品| 久久亚洲国产精品尤物| 亚洲一区二区三区无吗| 人人精品亚洲| 欧美激情久久久久久久久久久| 亚洲免费中文| 电影亚洲精品噜噜在线观看| 欧美日韩夜夜| 亚洲一区av| 欧美1区免费| 麻豆视频观看网址久久| 日韩影院免费视频| 亚洲福利免费| 福利一区二区三区视频在线观看| 日本视频中文字幕一区二区三区| 99久久精品费精品国产| 美腿丝袜亚洲一区| 欧美视频精品全部免费观看| 另类av一区二区| 久久精品国产www456c0m| 日韩1区2区| 国产精品极品| 国产欧美日韩精品一区二区三区 | 精品成av人一区二区三区| 日韩av资源网| 日本不卡一二三区黄网| 另类av一区二区| 亚洲主播在线| 国产一区白浆| 亚洲成人日韩| 激情婷婷综合| 欧美日韩在线播放视频| 欧美aa在线观看| 日韩啪啪电影网| 日韩av在线播放网址| 精品视频一区二区三区在线观看| 国产精品任我爽爆在线播放 | 国产一区三区在线播放| 久久不见久久见免费视频7| 97精品资源在线观看| 日韩不卡免费视频| 欧美在线精品一区| 欧美日本一区| 麻豆精品少妇| 久久男人av| 黑人精品一区| 激情亚洲影院在线观看| 亚洲香蕉网站| 美女精品在线| 欧美日韩1区2区3区| 久久不卡国产精品一区二区| 美女视频网站久久| 日韩成人三级| 99香蕉国产精品偷在线观看| 在线看片日韩| 国产精品一国产精品| 国产a久久精品一区二区三区| 成人在线视频免费| 久久精品国产68国产精品亚洲| 欧美特黄一级大片| 国产精品视区| 国产毛片一区| 欧美一级二区| 国产成人精品福利| 亚洲午夜视频| 色婷婷成人网| 久久三级毛片| 99久久99久久精品国产片果冰| 国产视频一区免费看| 一区二区三区网站| 国产精品mm| 欧美日韩在线二区| 亚洲精品麻豆| 精品国产午夜肉伦伦影院| 亚洲91视频| 日本综合视频| 国产福利91精品一区二区| 欧洲激情综合| 91福利精品在线观看| jizzjizz中国精品麻豆| 9色国产精品| 久久的色偷偷| 宅男噜噜噜66国产日韩在线观看| 日韩欧美精品一区二区综合视频| 精品一区二区三区亚洲| 99国内精品| 国产精品日韩精品中文字幕| 日韩欧美二区| 日本成人在线视频网站| 国产精品久久久久久久久久10秀 | 国产日韩三级| 亚洲高清不卡| 日韩1区2区日韩1区2区| 日本美女一区| 日韩精品视频中文字幕| 亚洲风情在线资源| 日韩精品视频在线看| 桃色一区二区| 日韩福利视频网| 欧美日韩一二| 久久97视频| 蜜臀久久久99精品久久久久久| 精品久久中文| 日韩精品一级二级| 成人av三级| 在线精品亚洲| 99精品小视频| 精品久久久久久久| 天堂久久av| 99视频精品视频高清免费| 国产精品午夜av| 亚洲伦乱视频| 久久精品国产亚洲aⅴ| 爽好久久久欧美精品| 日韩三区在线| 久久亚洲人体| 日韩中文字幕无砖| 亚洲午夜视频| 精品亚洲自拍| 日韩动漫一区| 老鸭窝毛片一区二区三区| 欧美日韩免费观看视频| 国产精品亚洲成在人线| 亚洲1区在线观看| 欧美日韩国产探花| 在线中文字幕播放| 毛片不卡一区二区| 欧美日韩视频免费看| 免费精品视频| 黑丝一区二区三区| 99久久婷婷| 日韩欧美国产精品综合嫩v| 欧美aa在线视频| 日韩欧美中文在线观看| 在线成人直播| 久久激情网站| 日韩中文在线播放| 久久久久久网| 伊人久久在线| 日韩成人三级| 精品日本视频| 精品入口麻豆88视频| 国产精品啊啊啊| 国产精品久久久久av蜜臀| 欧美午夜网站| 国产精品欧美三级在线观看|