电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

spring boot整合redis實現RedisTemplate三分鐘快速入門

瀏覽:108日期:2023-03-31 17:59:13
引入依賴

<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId></dependency>RedisTemplate五種數據結構的操作 redisTemplate.opsForValue(); //操作字符串 redisTemplate.opsForHash(); //操作hash redisTemplate.opsForList(); //操作list redisTemplate.opsForSet(); //操作set redisTemplate.opsForZSet(); //操作有序zsetRedisTemplate方法講解

判斷key是否存在

/** * 判斷key是否存在 */ @GetMapping('haskey') public boolean hasKey(String key) { return redisTemplate.hasKey(key); }

獲取指定的key的失效時間

/** * 指定key的失效時間 */ @GetMapping('expire') public void expire(String key, long time) { //參數一:key //參數二:睡眠時間 //參數三:睡眠時間單位 TimeUnit.DAYS 天 TimeUnit.HOURS 小時 。。。 redisTemplate.expire(key, time, TimeUnit.MINUTES); }

根據key獲取過期時間

/** * 根據key獲取過期時間 */ @GetMapping('getexpire') public long getExpire(String key) { Long expire = redisTemplate.getExpire(key); return expire; }

根據key刪除reids中緩存數據

/** * 根據key刪除reids中緩存數據 */ @GetMapping('delredisbykey') public void delete(String key) { redisTemplate.delete(key); }

保存和讀取String

/** * 保存和讀取String */ @GetMapping('stringredisdemo') public String stringredisdemo() { //設置過期時間為1分鐘 redisTemplate.opsForValue().set('key1', 'value1', 1, TimeUnit.MINUTES); redisTemplate.opsForValue().set('key2', 'value2'); redisTemplate.opsForValue().set('key3', 'value3'); //讀取redis數據 String result1 = redisTemplate.opsForValue().get('key1').toString(); String result2 = redisTemplate.opsForValue().get('key2').toString(); String result3 = redisTemplate.opsForValue().get('key3').toString(); System.out.println('緩存結果為:result:' + result1 + ' ' + result2 + ' ' + result3); return '緩存結果為:result:' + result1 + ' ' + result2 + ' ' + result3; }

保存和讀取list

/** * 保存和讀取list */ @GetMapping('listredisdemo') public String listredisdemo() { List<String> list1 = new ArrayList<>(); list1.add('a1'); list1.add('a2'); list1.add('a3'); List<String> list2 = new ArrayList<>(); list2.add('b1'); list2.add('b2'); list2.add('b3'); redisTemplate.opsForList().leftPush('listkey1', list1); redisTemplate.opsForList().rightPush('listkey2', list2); List<String> resultList1 = (List<String>) redisTemplate.opsForList().leftPop('listkey1'); List<String> resultList2 = (List<String>) redisTemplate.opsForList().rightPop('listkey2'); System.out.println('resultList1:' + resultList1); System.out.println('resultList2:' + resultList2); return '成功'; }

Hash結構,保存和讀取map

/** * Hash結構,保存和讀取map */ @GetMapping('mapredisdemo') public String mapredisdemo() { Map<String, String> map = new HashMap<>(); map.put('key1', 'value1'); map.put('key2', 'value2'); map.put('key3', 'value3'); map.put('key4', 'value4'); map.put('key5', 'value5'); redisTemplate.opsForHash().putAll('map1', map); Map<String, String> resultMap = redisTemplate.opsForHash().entries('map1'); List<String> reslutMapList = redisTemplate.opsForHash().values('map1'); Set<String> resultMapSet = redisTemplate.opsForHash().keys('map1'); String value = (String) redisTemplate.opsForHash().get('map1', 'key1'); System.out.println('value:' + value); System.out.println('resultMapSet:' + resultMapSet); System.out.println('resultMap:' + resultMap); System.out.println('resulreslutMapListtMap:' + reslutMapList); return '成功'; }

保存和讀取Set

/** * 保存和讀取Set */ @GetMapping('setredisdemo') public String getredisdemo() { SetOperations<String, String> set = redisTemplate.opsForSet(); set.add('key1', 'value1'); set.add('key1', 'value2'); set.add('key1', 'value3'); Set<String> resultSet = redisTemplate.opsForSet().members('key1'); System.out.println('resultSet:' + resultSet); return 'resultSet:' + resultSet; }

保存和讀取zset

/** * 保存和讀取zset */ @GetMapping('zsetredisdemo') public String zsetredisdemo() { ZSetOperations.TypedTuple<Object> objectTypedTuple1 = new DefaultTypedTuple<>('zset-5', 9.6); ZSetOperations.TypedTuple<Object> objectTypedTuple2 = new DefaultTypedTuple<>('zset-6', 9.9); Set<ZSetOperations.TypedTuple<Object>> tuples = new HashSet<>(); tuples.add(objectTypedTuple1); tuples.add(objectTypedTuple2); System.out.println(redisTemplate.opsForZSet().add('zset1', tuples)); System.out.println(redisTemplate.opsForZSet().range('zset1', 0, -1)); return '成功'; }完整示例代碼

import org.springframework.beans.factory.annotation.Autowired;import org.springframework.data.redis.core.DefaultTypedTuple;import org.springframework.data.redis.core.RedisTemplate;import org.springframework.data.redis.core.SetOperations;import org.springframework.data.redis.core.ZSetOperations;import org.springframework.web.bind.annotation.GetMapping;import org.springframework.web.bind.annotation.RestController;import java.util.*;import java.util.concurrent.TimeUnit;@RestControllerpublic class ReidsDemo { @Autowired RedisTemplate redisTemplate; /** * 指定key的失效時間 */ @GetMapping('expire') public void expire(String key, long time) { //參數一:key //參數二:睡眠時間 //參數三:睡眠時間單位 TimeUnit.DAYS 天 TimeUnit.HOURS 小時 。。。 redisTemplate.expire(key, time, TimeUnit.MINUTES); } /** * 根據key獲取過期時間 */ @GetMapping('getexpire') public long getExpire(String key) { Long expire = redisTemplate.getExpire(key); return expire; } /** * 判斷key是否存在 */ @GetMapping('haskey') public boolean hasKey(String key) { return redisTemplate.hasKey(key); } /** * 根據key刪除reids中緩存數據 */ @GetMapping('delredisbykey') public void delete(String key) { redisTemplate.delete(key); } /** * 保存和讀取String */ @GetMapping('stringredisdemo') public String stringredisdemo() { //設置過期時間為1分鐘 redisTemplate.opsForValue().set('key1', 'value1', 1, TimeUnit.MINUTES); redisTemplate.opsForValue().set('key2', 'value2'); redisTemplate.opsForValue().set('key3', 'value3'); //讀取redis數據 String result1 = redisTemplate.opsForValue().get('key1').toString(); String result2 = redisTemplate.opsForValue().get('key2').toString(); String result3 = redisTemplate.opsForValue().get('key3').toString(); System.out.println('緩存結果為:result:' + result1 + ' ' + result2 + ' ' + result3); return '緩存結果為:result:' + result1 + ' ' + result2 + ' ' + result3; } /** * 保存和讀取list */ @GetMapping('listredisdemo') public String listredisdemo() { List<String> list1 = new ArrayList<>(); list1.add('a1'); list1.add('a2'); list1.add('a3'); List<String> list2 = new ArrayList<>(); list2.add('b1'); list2.add('b2'); list2.add('b3'); redisTemplate.opsForList().leftPush('listkey1', list1); redisTemplate.opsForList().rightPush('listkey2', list2); List<String> resultList1 = (List<String>) redisTemplate.opsForList().leftPop('listkey1'); List<String> resultList2 = (List<String>) redisTemplate.opsForList().rightPop('listkey2'); System.out.println('resultList1:' + resultList1); System.out.println('resultList2:' + resultList2); return '成功'; } /** * Hash結構,保存和讀取map */ @GetMapping('mapredisdemo') public String mapredisdemo() { Map<String, String> map = new HashMap<>(); map.put('key1', 'value1'); map.put('key2', 'value2'); map.put('key3', 'value3'); redisTemplate.opsForHash().putAll('map1', map); Map<String, String> resultMap = redisTemplate.opsForHash().entries('map1'); List<String> reslutMapList = redisTemplate.opsForHash().values('map1'); Set<String> resultMapSet = redisTemplate.opsForHash().keys('map1'); String value = (String) redisTemplate.opsForHash().get('map1', 'key1'); System.out.println('value:' + value); System.out.println('resultMapSet:' + resultMapSet); System.out.println('resultMap:' + resultMap); System.out.println('resulreslutMapListtMap:' + reslutMapList); return '成功'; } /** * 保存和讀取Set */ @GetMapping('setredisdemo') public String getredisdemo() { SetOperations<String, String> set = redisTemplate.opsForSet(); set.add('key1', 'value1'); set.add('key1', 'value2'); set.add('key1', 'value3'); Set<String> resultSet = redisTemplate.opsForSet().members('key1'); System.out.println('resultSet:' + resultSet); return 'resultSet:' + resultSet; } /** * 保存和讀取zset */ @GetMapping('zsetredisdemo') public String zsetredisdemo() { ZSetOperations.TypedTuple<Object> objectTypedTuple1 = new DefaultTypedTuple<>('zset-5', 9.6); ZSetOperations.TypedTuple<Object> objectTypedTuple2 = new DefaultTypedTuple<>('zset-6', 9.9); Set<ZSetOperations.TypedTuple<Object>> tuples = new HashSet<>(); tuples.add(objectTypedTuple1); tuples.add(objectTypedTuple2); System.out.println(redisTemplate.opsForZSet().add('zset1', tuples)); System.out.println(redisTemplate.opsForZSet().range('zset1', 0, -1)); return '成功'; }}序列化

直接粘貼在項目中即可

import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import org.springframework.data.redis.connection.RedisConnectionFactory;import org.springframework.data.redis.core.RedisTemplate;import org.springframework.data.redis.serializer.GenericJackson2JsonRedisSerializer;import org.springframework.data.redis.serializer.RedisSerializer;import org.springframework.data.redis.serializer.StringRedisSerializer;/**序列化 */@Configurationpublic class MyRedisConfig { @Bean(name = 'redisTemplate') public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory redisConnectionFactory){ RedisTemplate<String, Object> redisTemplate = new RedisTemplate<>(); //參照StringRedisTemplate內部實現指定序列化器 redisTemplate.setConnectionFactory(redisConnectionFactory); redisTemplate.setKeySerializer(keySerializer()); redisTemplate.setHashKeySerializer(keySerializer()); redisTemplate.setValueSerializer(valueSerializer()); redisTemplate.setHashValueSerializer(valueSerializer()); return redisTemplate; } private RedisSerializer<String> keySerializer(){ return new StringRedisSerializer(); } //使用Jackson序列化器 private RedisSerializer<Object> valueSerializer(){ return new GenericJackson2JsonRedisSerializer(); } }

到此這篇關于spring boot整合redis實現RedisTemplate三分鐘快速入門的文章就介紹到這了,更多相關springboot RedisTemplate入門內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Spring
相關文章:
主站蜘蛛池模板: 慈溪麦田广告公司,提供慈溪广告设计。 | 全自动包装秤_全自动上袋机_全自动套袋机_高位码垛机_全自动包装码垛系统生产线-三维汉界机器(山东)股份有限公司 | 全自动真空上料机_粉末真空上料机_气动真空上料机-南京奥威环保科技设备有限公司 | 四川职高信息网-初高中、大专、职业技术学校招生信息网 | 雾度仪_雾度计_透光率雾度仪价格-三恩时(3nh)光电雾度仪厂家 | 环氧树脂地坪_防静电地坪漆_环氧地坪漆涂料厂家-地壹涂料地坪漆 环球电气之家-中国专业电气电子产品行业服务网站! | 澳门精准正版免费大全,2025新澳门全年免费,新澳天天开奖免费资料大全最新,新澳2025今晚开奖资料,新澳马今天最快最新图库-首页-东莞市傲马网络科技有限公司 | 100_150_200_250_300_350_400公斤压力空气压缩机-舰艇航天配套厂家 | 河南空气能热水器-洛阳空气能采暖-洛阳太阳能热水工程-洛阳润达高科空气能商行 | 小威小说网 - 新小威小说网 - 小威小说网小说搜索引擎 | 短信通106短信接口验证码接口群发平台_国际短信接口验证码接口群发平台-速度网络有限公司 | 环压强度试验机-拉链拉力试验机-上海倾技仪器仪表科技有限公司 | 液氮罐(生物液氮罐)百科-无锡爱思科 | 制氮设备_PSA制氮机_激光切割制氮机_氮气机生产厂家-苏州西斯气体设备有限公司 | 探伤仪,漆膜厚度测试仪,轮胎花纹深度尺厂家-淄博创宇电子 | ISO9001认证咨询_iso9001企业认证代理机构_14001|18001|16949|50430认证-艾世欧认证网 | 水平垂直燃烧试验仪-灼热丝试验仪-漏电起痕试验仪-针焰试验仪-塑料材料燃烧检测设备-IP防水试验机 | 企业管理培训,企业培训公开课,企业内训课程,企业培训师 - 名课堂企业管理培训网 | 3d可视化建模_三维展示_产品3d互动数字营销_三维动画制作_3D虚拟商城 【商迪3D】三维展示服务商 广东健伦体育发展有限公司-体育工程配套及销售运动器材的体育用品服务商 | 天津仓储物流-天津电商云仓-天津云仓一件代发-博程云仓官网 | 密集架-密集柜厂家-智能档案密集架-自动选层柜订做-河北风顺金属制品有限公司 | 高楼航空障碍灯厂家哪家好_航空障碍灯厂家_广州北斗星障碍灯有限公司 | 不锈钢水管-不锈钢燃气管-卫生级不锈钢管件-不锈钢食品级水管-广东双兴新材料集团有限公司 | 工装定制/做厂家/公司_工装订做/制价格/费用-北京圣达信工装 | 流水线电子称-钰恒-上下限报警电子秤-上海宿衡实业有限公司 | 无锡网站建设-做网站-建网站-网页设计制作-阿凡达建站公司 | 帽子厂家_帽子工厂_帽子定做_义乌帽厂_帽厂_制帽厂_帽子厂_浙江高普制帽厂 | 河南正规膏药生产厂家-膏药贴牌-膏药代加工-修康药业集团官网 | 防水套管厂家_刚性防水套管_柔性防水套管_不锈钢防水套管-郑州中泰管道 | 合肥注册公司|合肥代办营业执照、2024注册公司流程 | 代写标书-专业代做标书-商业计划书代写「深圳卓越创兴公司」 | 百度爱采购运营研究社社群-店铺托管-爱采购代运营-良言多米网络公司 | 雾度仪_雾度计_透光率雾度仪价格-三恩时(3nh)光电雾度仪厂家 | 走心机厂家,数控走心机-台州博城智能科技有限公司 | 液氨泵,液化气泵-淄博「亚泰」燃气设备制造有限公司 | 天一线缆邯郸有限公司_煤矿用电缆厂家_矿用光缆厂家_矿用控制电缆_矿用通信电缆-天一线缆邯郸有限公司 | 空心明胶胶囊|植物胶囊|清真胶囊|浙江绿键胶囊有限公司欢迎您! | 冻干机(冷冻干燥机)_小型|实验型|食品真空冷冻干燥机-松源 | 学校用栓剂模,玻璃瓶轧盖钳,小型安瓿熔封机,实验室安瓿熔封机-长沙中亚制药设备有限公司 | 广东风淋室_广东风淋室厂家_广东风淋室价格_广州开源_传递窗_FFU-广州开源净化科技有限公司 | DAIKIN电磁阀-意大利ATOS电磁阀-上海乾拓贸易有限公司 |