从零搭建springcloud项目- redis(6)
2022/2/10 19:43:34
本文主要是介绍从零搭建springcloud项目- redis(6),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
1、redis的具体安装就不说了,直接连接程序,配置在项目test002中,依赖
<!-- redis数据存储 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency> <!-- JSON处理器 --> <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.70</version> </dependency>
2、配置yml
spring: profiles: active: dev datasource: #配置数据库 driverClassName: com.mysql.cj.jdbc.Driver url: jdbc:mysql://127.0.0.1:3307/springcloud_test002?useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC username: root password: root redis: host: 192.168.110.12 port: 6379 password: Cc68db0e
3、配置redis公共类
package com.example.test002.mapper.common; import com.alibaba.fastjson.JSON; import org.springframework.data.redis.core.StringRedisTemplate; import org.springframework.stereotype.Component; import javax.annotation.Resource; import java.util.concurrent.TimeUnit; @Component public class RedisMapper { private StringRedisTemplate stringRedisTemplate; @Resource public void RedisMapper(StringRedisTemplate stringRedisTemplate) { this.stringRedisTemplate = stringRedisTemplate; } /** * 判断key是否存在 * @param key 键 * @return true 存在 false不存在 */ public boolean hasKey(String folder, String key) { try { return stringRedisTemplate.hasKey(folder + key); } catch (Exception e) { e.printStackTrace(); return false; } } /** * 功能描述: 普通缓存放入,全部对象都以JSON保存 * @param folder, key, value * @return boolean true成功 false失败 * @author admin * @date 2021/7/19 11:03 * @update [序号] [时间] [修改人] [自定义变更内容] */ public boolean set(String folder, String key, Object value) { try { String json = JSON.toJSONString(value); stringRedisTemplate.opsForValue().set(folder + key, json); return true; } catch (Exception e) { e.printStackTrace(); return false; } } /** * 普通缓存获取 * @param key 键 * @return 值 */ public String get(String folder, String key) { return key == null ? null : stringRedisTemplate.opsForValue().get(folder + key); } /** * 普通缓存放入并设置时间 * @param key 键 * @param value 值 * @param time 时间(秒) time要大于0 如果time小于等于0 将设置无限期 * @return true成功 false 失败 */ public boolean set(String folder, String key, Object value, long time) { try { String json = JSON.toJSONString(value); if (time > 0) { stringRedisTemplate.opsForValue().set(folder + key, json, time, TimeUnit.SECONDS); } else { stringRedisTemplate.opsForValue().set(folder + key, json, 36000, TimeUnit.SECONDS); } return true; } catch (Exception e) { e.printStackTrace(); return false; } } }
4、编写方法测试
package com.example.test002.controller; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.TypeReference; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.example.test002.entity.SysUserDO; import com.example.test002.mapper.SysUserMapper; import com.example.test002.mapper.common.RedisMapper; import org.apache.tomcat.jni.User; import org.springframework.cloud.context.config.annotation.RefreshScope; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; import java.util.List; import java.util.Map; /** * redis 测试 * @author admin * @date 2022/2/10 9:47 */ @RestController @RefreshScope //nacos配置中心动态刷新 public class RedisController { @Resource private RedisMapper redisMapper; /** * 功能描述: 判断redis中是否存在这个key * @author admin * @return boolean * @date 2022/2/10 13:30 */ @GetMapping(value = "/redis/hasKey") public boolean hasKey() throws InterruptedException { String folder = "xxxTest:"; String key = "aaaaa"; boolean hasKey = redisMapper.hasKey(folder, key); return hasKey; } /** * 功能描述: redis存储值 * @author admin * @return boolean * @date 2022/2/10 13:30 */ @GetMapping(value = "/redis/set") public boolean set() throws InterruptedException { String folder = "xxxTest:"; String key = "aaaaa"; SysUserDO user = new SysUserDO(); user.setId(111); user.setRolename("测试数据"); boolean set = redisMapper.set(folder, key, user); return set; } /** * 功能描述: redis获取值 * @author admin * @return boolean * @date 2022/2/10 13:30 */ @GetMapping(value = "/redis/get") public SysUserDO get() throws InterruptedException { String folder = "xxxTest:"; String key = "aaaaa"; SysUserDO sysUserDO = JSON.parseObject(redisMapper.get(folder, key), new TypeReference<SysUserDO>() { }); return sysUserDO; } }
访问接口,都能成功
这篇关于从零搭建springcloud项目- redis(6)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23Springboot应用的多环境打包入门
- 2024-11-23Springboot应用的生产发布入门教程
- 2024-11-23Python编程入门指南
- 2024-11-23Java创业入门:从零开始的编程之旅
- 2024-11-23Java创业入门:新手必读的Java编程与创业指南
- 2024-11-23Java对接阿里云智能语音服务入门详解
- 2024-11-23Java对接阿里云智能语音服务入门教程
- 2024-11-23JAVA对接阿里云智能语音服务入门教程
- 2024-11-23Java副业入门:初学者的简单教程
- 2024-11-23JAVA副业入门:初学者的实战指南