国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

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

Springboot如何操作redis數(shù)據(jù)

瀏覽:23日期:2023-05-19 15:09:22

StringRedisTemplate與RedisTemplate區(qū)別點(diǎn)

兩者的關(guān)系是StringRedisTemplate繼承RedisTemplate。

兩者的數(shù)據(jù)是不共通的;也就是說StringRedisTemplate只能管理StringRedisTemplate里面的數(shù)據(jù),RedisTemplate只能管理RedisTemplate中的數(shù)據(jù)。

其實(shí)他們兩者之間的區(qū)別主要在于他們使用的序列化類:

RedisTemplate使用的是JdkSerializationRedisSerializer 存入數(shù)據(jù)會將數(shù)據(jù)先序列化成字節(jié)數(shù)組然后在存入Redis數(shù)據(jù)庫。

  StringRedisTemplate使用的是StringRedisSerializer

使用時注意事項(xiàng):

 當(dāng)你的redis數(shù)據(jù)庫里面本來存的是字符串?dāng)?shù)據(jù)或者你要存取的數(shù)據(jù)就是字符串類型數(shù)據(jù)的時候,那么你就使用

StringRedisTemplate即可。

 但是如果你的數(shù)據(jù)是復(fù)雜的對象類型,而取出的時候又不想做任何的數(shù)據(jù)轉(zhuǎn)換,直接從Redis里面取出一個對象,那么使用

RedisTemplate是更好的選擇。

RedisTemplate使用時常見問題:

redisTemplate 中存取數(shù)據(jù)都是字節(jié)數(shù)組。當(dāng)redis中存入的數(shù)據(jù)是可讀形式而非字節(jié)數(shù)組時,使用redisTemplate取值的時候會無法獲取導(dǎo)出數(shù)據(jù),獲得的值為null。可以使用 StringRedisTemplate 試試。

RedisTemplate中定義了5種數(shù)據(jù)結(jié)構(gòu)操作

redisTemplate.opsForValue();//操作字符串 redisTemplate.opsForHash(); //操作hash redisTemplate.opsForList(); //操作list redisTemplate.opsForSet(); //操作set redisTemplate.opsForZSet();   //操作有序set

StringRedisTemplate常用操作

stringRedisTemplate.opsForValue().set('test', '100',60*10,TimeUnit.SECONDS);//向redis里存入數(shù)據(jù)和設(shè)置緩存時間 stringRedisTemplate.boundValueOps('test').increment(-1);//val做-1操作 stringRedisTemplate.opsForValue().get('test')//根據(jù)key獲取緩存中的val stringRedisTemplate.boundValueOps('test').increment(1);//val +1 stringRedisTemplate.getExpire('test')//根據(jù)key獲取過期時間 stringRedisTemplate.getExpire('test',TimeUnit.SECONDS)//根據(jù)key獲取過期時間并換算成指定單位 stringRedisTemplate.delete('test');//根據(jù)key刪除緩存 stringRedisTemplate.hasKey('546545');//檢查key是否存在,返回boolean值 stringRedisTemplate.opsForSet().add('red_123', '1','2','3');//向指定key中存放set集合 stringRedisTemplate.expire('red_123',1000 , TimeUnit.MILLISECONDS);//設(shè)置過期時間 stringRedisTemplate.opsForSet().isMember('red_123', '1')//根據(jù)key查看集合中是否存在指定數(shù)據(jù) stringRedisTemplate.opsForSet().members('red_123');//根據(jù)key獲取set集合

StringRedisTemplate的使用

springboot中使用注解@Autowired 即可

@Autowiredpublic StringRedisTemplate stringRedisTemplate;

使用樣例:

@RestController@RequestMapping('/user')public class UserResource { private static final Logger log = LoggerFactory.getLogger(UserResource.class); @Autowired private UserService userService; @Autowired public StringRedisTemplate stringRedisTemplate; @RequestMapping('/num') public String countNum() { String userNum = stringRedisTemplate.opsForValue().get('userNum'); if(StringUtils.isNull(userNum)){ stringRedisTemplate.opsForValue().set('userNum', userService.countNum().toString()); } return userNum; }}

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

標(biāo)簽: Spring
相關(guān)文章:
主站蜘蛛池模板: 日韩精品视频美在线精品视频 | 国产欧美日韩在线不卡第一页 | 欧美一级毛片免费播放器 | 欧美精品在线一区二区三区 | 青木玲中文字幕一区二区 | yy6080福利午夜免费观看 | 欧美日韩在线第一页 | 日韩一区二区久久久久久 | 99久久精品国产片 | 国内成人免费视频 | 欧美一级在线视频 | 一本久久精品一区二区 | 免费看特黄特黄欧美大片 | 亚洲国产二区三区久久 | 国产美女又黄又爽又色视频免费 | 老司机亚洲精品影院 | 国产成人免费片在线视频观看 | 99久久精品久久久 | 韩国good三级在线观看久 | www.久草视频| 手机看片福利视频 | 国产成人亚洲精品77 | 97在线视频网站 | 性成人动作片在线看 | 成人免费视频在线 | 又黄又骚| 久久99这里只有精品国产 | 中文字幕高清在线天堂网 | 免费逼片| 成人在线a | 国产第九页 | 毛片1毛片2毛片3毛片4 | 国内精品久久影院 | 在线满18网站观看视频 | 97视频在线看 | 香港激情三级做爰小说 | 黄黄的网站在线观看 | 亚洲国产成人久久综合一区77 | 久久99国产精品久久 | 免费ab| 中文字幕色站 |