SpringBoot整合Redis将对象写入redis的实现
作者:明明就很安静 发布时间:2023-07-30 14:39:07
标签:SpringBoot,对象写入,redis
1、环境搭建
创建一个SpringBoot项目,普通的web项目就可以了,我这里使用的是start.aliyun
引入依赖:
(1)老演员了不多说。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
(2)整合redis
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
(3) 实体类用到了@Data注解
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
(4)将对象转为json存入redis,取出来时将json转为对象
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.30</version>
</dependency>
2、代码编写
(1)在Application启动类的同级目录下创建对应的包
(2)写redis工具类
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.stereotype.Component;
import java.util.concurrent.TimeUnit;
@Component
public class RedisUtils {
/**
* 获取redis模板
*/
@Autowired
private StringRedisTemplate stringRedisTemplate;
/**
* 存入String类型
* @param key
* @param value
* @param timeOut
*/
public void setString(String key, String value, Long timeOut){
stringRedisTemplate.opsForValue().set(key, value);
if (timeOut != null){
//设置Redis的key的有效期
stringRedisTemplate.expire(key, timeOut, TimeUnit.SECONDS);
}
}
/**
* 获取String类型
* @param key
* @return
*/
public String getString(String key){
return stringRedisTemplate.opsForValue().get(key);
}
}
实体类:
import lombok.Data;
@Data
public class User {
private String name;
private Integer age;
}
控制层:
import com.alibaba.fastjson.JSONObject;
import com.example.redis.redistudy.pojo.User;
import com.example.redis.redistudy.util.RedisUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class RedisController {
@Autowired
private RedisUtils redisUtils;
@GetMapping("/addUser")
public String addUser(){
User user = new User();
user.setName("zhangsan");
user.setAge(18);
String userString = JSONObject.toJSONString(user);
redisUtils.setString("userString",userString, null);
return "存入成功";
}
@GetMapping("/getUser")
public User getUser(String key){
String userString= redisUtils.getString(key);
User user = JSONObject.parseObject(userString, User.class);
return user;
}
}
(3)yml文件配置
spring:
redis:
host: 服务器公网ip
password: root //密码
port: 6379 //端口号
database: 0 //指定存入哪一个库
3、测试
启动程序 ,访问地址:http://localhost:8080/addUser
看一下redis,存入成功
再获取一下,获取成功
地址:http://localhost:8080/getUser?key=userString
来源:https://blog.csdn.net/qq_42251944/article/details/124586950
0
投稿
猜你喜欢
- 插入排序原理①把所有元素分成已排序和未排序两组②找到未排序组的第一个元素,向已经排序的组中进行插入③倒序遍历已经排好的元素,依次和待插入的元
- 前言最近在学习C# Socket相关的知识,学习之余,动手做了一个简单的局域网聊天器。有萌生做这个的想法,主要是由于之前家里两台电脑之间想要
- 如果使用了反向代理软件,将http://192.168.1.110:2046/ 的URL反向代理为http://www.xxx.com/ 的
- 线程组线程组可以批量管理线程和线程组对象。一级关联例子如下,建立一级关联。public class MyThread43 implement
- Stripe支付首页需要引用Stripe.net框架,我引用的是22.8.0版本,注意.NETFramework的版本为4.5,同时需要引用
- @Profile注解详解@Profile:Spring为我们提供的可以根据当前环境,动态的激活和切换一系列组件的功能;开发环境develop
- 一、之前旧的写法class Singleton{ private Singleton() {} &nb
- cmd调用phantomjs官方资料:http://phantomjs.org/quick-start.html手动执行从官方下载phant
- 1.application.ymlserver: port: 8184spring: application: &n
- Java计算一段程序的运行时间介绍了两种方法,一种是毫秒级别的计算,另一种是更精确的纳秒级别的计算。毫秒级别计算时间  
- 下面分享的是一个Java多线程模拟停车场系统的小实例(Java的应用还是很广泛的,哈哈),具体代码如下:Park类public class
- Class类中获取方法:public Method[] getMethods();//获取包括自身和继承(实现)过来的所有的public方法
- 一、概述 在C和C++语言中都有assert关键,表示断言。在Java中,同样也有assert关键字,表示断言,用法和含义都差不多
- 算法中递归的一个典型应用就是遍历目标文件夹,并把该文件夹下的所有文件和文件夹打印或显示出来,还可以递归计算出目标文件夹的总大小。本文即以实例
- 最近看代码,由于代码的调用层级深度比较多,层层深入到某处时,已经忘记了身处何处,虽然自己可以使用一些画图工具来时序图,但是,这种情况下,自己
- 子类重新实现父类的方法称重写;重写时可以修改访问权限修饰符和返回值,方法名和参数类型及个数都不可以修改;仅当返回值为类类型时,重写的方法才可
- java.math包提供了java中的数学类。包括基本的浮点库、复杂运算以及任意精度的数据运算提供用于执行任意精度整数算法 (BigInte
- 前言目前,企业项目的开发过程中,往往会使用配置文件来做一些配置项来实现项目部署的灵活性,避免硬编码的方式在环境变化时需要对代码进行重新编译。
- 话不多说直接上代码,简单明了import java.io.File;import java.io.FileInputStream;impor
- 1、IndexTagController.java@GetMapping("/tags/{id}") &n