日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

学习Spring Boot:(十七)Spring Boot 中使用 Redis

發布時間:2025/3/12 javascript 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 学习Spring Boot:(十七)Spring Boot 中使用 Redis 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前言

Redis是一個由Salvatore Sanfilippo寫的key-value存儲系統。
edis是一個開源的使用ANSI C語言編寫、遵守BSD協議、支持網絡、可基于內存亦可持久化的日志型、Key-Value數據庫,并提供多種語言的API。
通常被稱為數據結構服務器,因為值(value)可以是 字符串(String), 哈希(Map), 列表(list), 集合(sets) 和 有序集合(sorted sets)等類型。

  • Redis官網
  • Redis中文社區

正文

引入依賴

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId></dependency>

需要注意的是,上面是 Spring Boot 1.5 版本后的名稱,1.5版本前是 spring-boot-starter-redis。

參數配置

spring:redis:host: 192.168.19.200 # host ,默認 localhostport: 6379 # 端口號,默認6379pool:# 設置都是默認值,可以按需求設計max-active: 8 # 可用連接實例的最大數目,默認值為8;如果賦值為-1,則表示不限制;max-idle: 8 # 控制一個pool最多有多少個狀態為idle(空閑的)的redis實例,默認值也是8。max-wait: -1 # 等待可用連接的最大時間,單位毫秒,默認值為-1,表示永不超時。min-idle: 0 # 控制一個pool最少有多少個狀態為idle(空閑的)的redis實例,默認值為0。timeout: 0 # 連接超時時間 單位 ms,默認為0password: master # 密碼,根據自己的 redis 設計,默認為空

使用

在 配置類 中注冊一個 RedisTemplate 用來支持序列化和反序列化:

@Configuration public class RedisConfig {@Beanpublic RedisTemplate<String, String> redisTemplate(RedisConnectionFactory factory) {StringRedisTemplate template = new StringRedisTemplate(factory);// 使用 Jackson2JsonRedisSerializer 進行序列化,它繼承 RedisSerializer,Jackson2JsonRedisSerializer jackson2JsonRedisSerializer = new Jackson2JsonRedisSerializer(Object.class);ObjectMapper om = new ObjectMapper();om.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY);om.enableDefaultTyping(ObjectMapper.DefaultTyping.NON_FINAL);jackson2JsonRedisSerializer.setObjectMapper(om);template.setValueSerializer(jackson2JsonRedisSerializer);template.afterPropertiesSet();return template;}}

測試使用:

@SpringBootTest @RunWith(SpringRunner.class) public class RedisTest {@Autowiredprivate StringRedisTemplate stringRedisTemplate;@Autowiredprivate RedisTemplate redisTemplate;@Testpublic void test() {stringRedisTemplate.opsForValue().set("id", "1");Assert.assertEquals("1", stringRedisTemplate.opsForValue().get("id"));}/*** 測試存儲對象,redis 需要對對象進行序列化,取出對象數據后比對,又要進行反序列化* 所以注冊了 RedisTemplate ,專門處理這類情況*/@Testpublic void test1() {SysUserEntity sysUserEntity = new SysUserEntity();sysUserEntity.setId(2L);sysUserEntity.setEmail("k@wuwii.com");ValueOperations<String, SysUserEntity> operations = redisTemplate.opsForValue();operations.set("user1", sysUserEntity);Assert.assertThat(sysUserEntity, Matchers.equalTo(operations.get("user1")));}}

Spring Data Redis 使用文檔


總結

以上是生活随笔為你收集整理的学习Spring Boot:(十七)Spring Boot 中使用 Redis的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。