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

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

JAVA中 redisTemplate 和 jedis的配合使用操作

瀏覽:124日期:2022-08-16 18:43:08

首先項(xiàng)目A,也就是SpringBOOT項(xiàng)目中使用redisTemplate 來(lái)做REDIS的緩存時(shí),你會(huì)發(fā)現(xiàn)存到REDIS里邊的KEY和VALUE,redisTemplat使用jdkSerializeable存儲(chǔ)二進(jìn)制字節(jié)編碼

項(xiàng)目B中使用jedis時(shí),存儲(chǔ)起來(lái)的是字符串,導(dǎo)致項(xiàng)目A要調(diào)用項(xiàng)目緩存的鍵值對(duì)時(shí),獲取不到

解決方案:

修改項(xiàng)目A的redisTemplate的序列方式

@Configuration@EnableCachingpublic class RedisConfig extends CachingConfigurerSupport { /** * redis模板,存儲(chǔ)關(guān)鍵字是字符串,值是Jdk序列化 * @param factory * @return * @Description: */ @Bean public RedisTemplate<?, ?> redisTemplate(RedisConnectionFactory factory) { RedisTemplate<?, ?> redisTemplate = new RedisTemplate<>(); redisTemplate.setConnectionFactory(factory); //key序列化方式;但是如果方法上有Long等非String類型的話,會(huì)報(bào)類型轉(zhuǎn)換錯(cuò)誤; RedisSerializer<String> redisSerializer = new StringRedisSerializer();//Long類型不可以會(huì)出現(xiàn)異常信息; redisTemplate.setKeySerializer(redisSerializer); redisTemplate.setHashKeySerializer(redisSerializer); //默認(rèn)使用JdkSerializationRedisSerializer序列化方式;會(huì)出現(xiàn)亂碼,改成StringRedisSerializer StringRedisSerializer stringSerializer = new StringRedisSerializer(); redisTemplate.setKeySerializer(stringSerializer); redisTemplate.setValueSerializer(stringSerializer); redisTemplate.setHashKeySerializer(stringSerializer); redisTemplate.setHashValueSerializer(stringSerializer); return redisTemplate; }}

補(bǔ)充:RedisTemplate初始化和創(chuàng)建(非Spring注入方式)

概述

在工作中, 可能會(huì)在非Spring項(xiàng)目(如Spark,Flink作業(yè))中去操作Redis, 重復(fù)造輪子去寫工具類沒(méi)有太大的意義, 使用RedisTemplate已經(jīng)足夠豐富和完善了,使用New的方式進(jìn)行創(chuàng)建即可, 不同的spring-data-redis的版本會(huì)略有不同, 下面以2.3.0和1.8.9做為示例.

2.3.0

maven

<dependency> <groupId>org.springframework.data</groupId> <artifactId>spring-data-redis</artifactId> <version>2.3.0.RELEASE</version></dependency><dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>3.3.0</version></dependency>

代碼

import org.springframework.data.redis.connection.RedisClusterConfiguration;import org.springframework.data.redis.connection.RedisNode;import org.springframework.data.redis.connection.RedisStandaloneConfiguration;import org.springframework.data.redis.connection.jedis.JedisConnectionFactory;import org.springframework.data.redis.core.RedisTemplate;import org.springframework.data.redis.core.ValueOperations;import java.util.Collections;import java.util.List;import java.util.Objects;public class RedisTest { public static void main(String[] args) { //單機(jī)模式 RedisStandaloneConfiguration rsc = new RedisStandaloneConfiguration(); rsc.setPort(6379); rsc.setPassword('123456'); rsc.setHostName('192.168.1.1'); //集群模式 RedisClusterConfiguration rcc = new RedisClusterConfiguration(); rcc.setPassword('123456'); List<RedisNode> nodes = Collections.singletonList(new RedisNode('192.168.1.1', 6379)); rcc.setClusterNodes(nodes); RedisTemplate<String, String> template = new RedisTemplate<>(); //單機(jī)模式 JedisConnectionFactory fac = new JedisConnectionFactory(rsc); //集群模式 //JedisConnectionFactory fac = new JedisConnectionFactory(rcc); fac.afterPropertiesSet(); template.setConnectionFactory(fac); template.setDefaultSerializer(new StringRedisSerializer()); template.afterPropertiesSet(); ValueOperations<String, String> op = template.opsForValue(); final String key = '123_tmp'; final String value = 'abc'; template.delete(key); op.set(key, value); assert Objects.equals(op.get(key), value); }}

集群方式運(yùn)行報(bào)錯(cuò)

Exception in thread 'main' redis.clients.jedis.exceptions.JedisDataException: ERR This instance has cluster support disabled

解決

在redis.conf下將cluster-enabled改為yes

如果只有一個(gè)節(jié)點(diǎn), 改為單機(jī)模式

1.8.9

maven

<dependency> <groupId>org.springframework.data</groupId> <artifactId>spring-data-redis</artifactId> <version>1.8.9.RELEASE</version></dependency><dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>2.9.0</version></dependency>

代碼

import org.springframework.data.redis.connection.jedis.JedisConnectionFactory;import org.springframework.data.redis.core.RedisTemplate;import org.springframework.data.redis.core.ValueOperations;import redis.clients.jedis.JedisPoolConfig;import redis.clients.jedis.JedisShardInfo;import java.util.Objects;public class RedisTest { public static void main(String[] args) { RedisTemplate<String, String> template = new RedisTemplate<>(); JedisConnectionFactory fac = new JedisConnectionFactory(new JedisPoolConfig()); JedisShardInfo shardInfo = new JedisShardInfo('192.168.1.1', 6379); shardInfo.setPassword('123456'); fac.setShardInfo(shardInfo); template.setConnectionFactory(fac); template.setDefaultSerializer(new StringRedisSerializer()); template.afterPropertiesSet(); ValueOperations<String, String> op = template.opsForValue(); final String key = '123_tmp'; final String value = 'abc'; template.delete(key); op.set(key, value); assert Objects.equals(op.get(key), value); }}

這里有個(gè)小細(xì)節(jié), 如果不調(diào)用setShardInfo()方法, 那么需要執(zhí)行下面的代碼, afterPropertiesSet()用來(lái)初始化

JedisConnectionFactory fac = new JedisConnectionFactory(new JedisPoolConfig()); fac.setPort(6379); fac.setPassword('123456'); fac.setHostName('192.168.1.1'); fac.afterPropertiesSet();說(shuō)明

RedisTemplate的構(gòu)造方法有多種, 上面所舉例子為其中的一種; 不通過(guò)SpringBoot自動(dòng)裝配的方式, 必須手動(dòng)去執(zhí)行afterPropertiesSet()進(jìn)行初始化; 可參考SpringBoot整合redis的方式, 查看對(duì)應(yīng)實(shí)現(xiàn)

JAVA中 redisTemplate 和 jedis的配合使用操作

JAVA中 redisTemplate 和 jedis的配合使用操作

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。

標(biāo)簽: Java
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
蜜臀av一区二区在线免费观看| 日韩精品欧美大片| 蜜桃免费网站一区二区三区 | 一区二区三区视频免费观看| 久久国产生活片100| 亚洲一区成人| 精品日韩毛片| 欧美1区2区3区| 午夜欧美巨大性欧美巨大| 欧美日韩一区二区三区在线电影| 免费黄网站欧美| 激情综合自拍| 日韩不卡视频在线观看| 国产一区二区三区视频在线| 国产欧美日韩精品一区二区免费| 亚洲永久精品唐人导航网址| 红桃视频国产一区| 蜜臀av免费一区二区三区| 国产精品.xx视频.xxtv| 午夜精品影视国产一区在线麻豆| 喷白浆一区二区| 免费人成在线不卡| 亚洲最新av| 亚洲人成网77777色在线播放| 免费污视频在线一区| 国内一区二区三区| 国产一区二区视频在线看| 国产中文欧美日韩在线| 久久午夜影院| 久久久精品国产**网站| 国产精品白浆| 久久伊人国产| 色婷婷亚洲mv天堂mv在影片| 亚洲精品成人图区| 日韩一区二区三区免费播放| 日韩精品一卡| 亚洲成人精选| 在线精品国产亚洲| 在线综合亚洲| 亚洲91网站| 久久久久免费| 视频在线在亚洲| 欧美精品aa| 成人看片网站| 少妇精品久久久| 成人国产精品久久| 狠狠爱成人网| 美女久久99| 中文在线不卡| 国产精品久久久久久久久久妞妞| 日韩大片在线观看| 亚洲理论在线| 韩国精品主播一区二区在线观看| 亚洲三级网址| 欧美精品日日操| 日韩国产一二三区| 色婷婷狠狠五月综合天色拍| 日本三级亚洲精品| 亚洲第一区色| 国产精品白浆| 日韩一区二区久久| 麻豆精品久久久| 一区二区日韩免费看| 毛片在线网站| 亚洲精品自拍| 激情久久婷婷| 国产精品v亚洲精品v日韩精品| 欧美福利在线| 国产精品国产三级国产在线观看| 美女日韩在线中文字幕| 成人在线免费观看91| 亚洲欧美日本国产| 欧美亚洲国产激情| 精品久久在线| 亚洲人www| 宅男在线一区| 精品久久97| 日韩一二三区在线观看| 久久精品导航| 高清日韩欧美| 日本在线观看不卡视频| 欧美69视频| 精品久久久亚洲| 日欧美一区二区| 在线亚洲国产精品网站| 国产999精品在线观看| 日本少妇一区二区| 视频精品一区二区| 国产专区一区| 亚洲女同av| 精品国产a一区二区三区v免费| 日本精品一区二区三区在线观看视频| 蜜桃tv一区二区三区| 日韩综合在线| 精品淫伦v久久水蜜桃| 亚洲毛片视频| 宅男噜噜噜66国产日韩在线观看| 青青青免费在线视频| 国产精品美女午夜爽爽| 综合国产视频| 午夜在线精品| 91国语精品自产拍| 99成人在线视频| 日韩精品中文字幕第1页| 国产一区二区三区天码| 国产精品久久久久久久久久久久久久久| 一本综合精品| 一区二区国产精品| 日韩在线a电影| 丝袜脚交一区二区| 99久久久久国产精品| 欧美成人a交片免费看| 首页国产精品| 国产精品国产一区| 福利一区在线| 久久久久伊人| 韩国女主播一区二区三区| 久久中文精品| 成人精品国产亚洲| 亚洲午夜天堂| 国产99精品| 亚洲欧美一区在线| 在线亚洲观看| 免费久久精品视频| 日韩欧美久久| 日本午夜精品久久久| 日韩国产欧美视频| 88久久精品| 欧美黑人做爰爽爽爽| 精品视频国产| 91tv亚洲精品香蕉国产一区| 999国产精品视频| 婷婷六月综合| 亚洲作爱视频| 在线免费观看亚洲| 亚洲香蕉视频| 日本三级亚洲精品| 国产极品模特精品一二| 欧美激情久久久久久久久久久| 免费在线亚洲| 美女视频网站久久| 日韩美女一区二区三区在线观看| 在线日韩av| 另类激情亚洲| 青青国产91久久久久久| 国产精品入口久久| 精品黄色一级片| 一本大道色婷婷在线| 91成人超碰| 视频国产精品| 国产一区二区三区久久| 亚洲婷婷免费| 久久国产精品毛片| 国产精品一区二区精品视频观看| 欧美www视频在线观看| 黄毛片在线观看| 国产精品外国| 国产日韩一区二区三区在线播放| 国产精品99久久精品| 久久久精品五月天| 免费看日韩精品| 麻豆中文一区二区| 久久精品91| 亚洲精品成人一区| 国产一区二区三区久久| 99久久精品网站| 日韩中文欧美在线| 免费在线亚洲欧美| 久久精品国产www456c0m| 亚洲一二三区视频| 国产剧情一区| 99精品小视频| 91成人精品观看| 欧美国产美女| 一区二区国产精品| 成人国产精品一区二区网站| 国产91久久精品一区二区| 亚洲精品护士| 福利一区在线| 中文不卡在线| 伊伊综合在线| 日韩高清欧美激情| 欧美精选视频一区二区| 美国三级日本三级久久99 | 免费亚洲婷婷| 国产一区日韩欧美| 欧美在线黄色| 久久精品国产68国产精品亚洲| 日韩一二三区在线观看| 亚洲综合在线电影| 7777精品| 999在线观看精品免费不卡网站| 国产精品久久久网站| 亚洲综合日本| 国产在线一区不卡| 亚州av一区| 性欧美69xoxoxoxo| 91亚洲国产| 精品亚洲自拍| 午夜欧美巨大性欧美巨大|