SpringBoot整合Redis將對象寫入redis的實(shí)現(xiàn)
1、環(huán)境搭建
創(chuàng)建一個(gè)SpringBoot項(xiàng)目,普通的web項(xiàng)目就可以了,我這里使用的是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) 實(shí)體類用到了@Data注解
<dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <optional>true</optional> </dependency>
(4)將對象轉(zhuǎn)為json存入redis,取出來時(shí)將json轉(zhuǎn)為對象
<dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.30</version> </dependency>
2、代碼編寫
(1)在Application啟動(dòng)類的同級(jí)目錄下創(chuàng)建對應(yīng)的包
(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){ //設(shè)置Redis的key的有效期 stringRedisTemplate.expire(key, timeOut, TimeUnit.SECONDS); } } /** * 獲取String類型 * @param key * @return */ public String getString(String key){ return stringRedisTemplate.opsForValue().get(key); } }
實(shí)體類:
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: 服務(wù)器公網(wǎng)ip password: root //密碼 port: 6379 //端口號(hào) database: 0 //指定存入哪一個(gè)庫
3、測試
啟動(dòng)程序 ,訪問地址:http://localhost:8080/addUser
看一下redis,存入成功
再獲取一下,獲取成功
地址:http://localhost:8080/getUser?key=userString
到此這篇關(guān)于SpringBoot整合Redis將對象寫入redis的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)SpringBoot將對象寫入redis內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java前端開發(fā)之HttpServletRequest的使用
service方法中的request的類型是ServletRequest,而doGet/doPost方法的request的類型是HttpServletRequest,HttpServletRequest是ServletRequest的子接口,功能和方法更加強(qiáng)大2023-01-01Java設(shè)計(jì)模式之Iterator模式介紹
所謂Iterator模式,即是Iterator為不同的容器提供一個(gè)統(tǒng)一的訪問方式。本文以java中的容器為例,模擬Iterator的原理。需要的朋友可以參考下2013-07-07Java加密解密工具(適用于JavaSE/JavaEE/Android)
這篇文章主要介紹了Java加密解密工具,適用于JavaSE/JavaEE/Android,感興趣的小伙伴們可以參考一下2016-04-04Java將String字符串帶括號(hào)轉(zhuǎn)成List的簡單方法
Java中我們有時(shí)需要對現(xiàn)有的字符串進(jìn)行切割并轉(zhuǎn)化成一個(gè)List集合,這篇文章主要給大家介紹了關(guān)于Java將String字符串帶括號(hào)轉(zhuǎn)成List的簡單方法,需要的朋友可以參考下2023-03-03