一准验、信創(chuàng)要求
具體要求可以參考上篇文章【信創(chuàng)一】微服務(wù)適配TongWeb及遇到的問(wèn)題 - 簡(jiǎn)書(shū) (jianshu.com)赎线。
書(shū)接上回,上回適配了TongWeb7糊饱,接下來(lái)我們接入TongRDS垂寥。
二、為什么使用TongRDS
- 原因一:甲方要求济似;
- 原因二:很多國(guó)產(chǎn)化緩存都是基于redis開(kāi)源版的基礎(chǔ)上改造的矫废,TongRDS官方描述“已有應(yīng)用可以不修改程序代碼無(wú)侵入的更換為 RDS”
三、驗(yàn)證
準(zhǔn)備:TongRDS(帶的有javaclient)砰蠢,license可去官網(wǎng)聯(lián)系商務(wù)獲取試用版
測(cè)試:正常的springboot項(xiàng)目蓖扑,不做任何改造,直接如下測(cè)試台舱,可正常獲輸出“中國(guó)”
@Resource
private RedisTemplate redisTemplate;
@RequestMapping("/redis")
public String queryRedis() throws IOException {
redisTemplate.opsForValue().set("d","中國(guó)");
return (String) redisTemplate.opsForValue().get("d");
}
四律杠、遇到的問(wèn)題
-
問(wèn)題一: 使用TongRDS提供的javaclient對(duì)緩存set('a','b')值潭流,但是使用RedisTemplate獲取不到。
A:這是由于RedisTemplate的序列化方式導(dǎo)致的柜去,因?yàn)樯厦鎠et的字符串灰嫉,而RedisTemplate<K,V>默認(rèn)的K嗓奢,V均是Object讼撒,只能存放序列化后的字節(jié)數(shù)據(jù),可以嘗試使用StringRedisTemplate獲取股耽。 -
問(wèn)題二:application.properties是否需要修改為rds相應(yīng)屬性
A:不需要根盒,不需要做任何修改,可以從下圖看到物蝙,RDS啟動(dòng)后也會(huì)監(jiān)聽(tīng)6379端口(同Redis)炎滞,6200是RDS端口,6379是RDS兼容了Redis的端口诬乞,可以正常像Redis一樣使用