您好,登錄后才能下訂單哦!
小編給大家分享一下SpringBoot集成如何使用Redis,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!
Jedis 是 Redis 官方推出的一款面向 Java 的客戶端,提供了很多接口供 Java 語言調用。可以在 Redis 官網下載. Spring-data-redis 是 spring 大家族的一部分,提供了在 srping 應用中通 過簡單的配置訪問 redis 服務,對 reids 底層開發包(Jedis, JRedis, and RJC)進 行了高度封裝,RedisTemplate 提供了 redis 各種操作
spring-data-redis 針對 jedis 提供了如下功能:
連接池自動管理,提供了一個高度封裝的“RedisTemplate”類.
針對 jedis 客戶端中大量 api 進行了歸類封裝,將同一類型操作封裝為 operation 接口.
ValueOperations:簡單 K-V 操作
SetOperations:set 類型數據操作
ZSetOperations:zset 類型數據操作
HashOperations:針對 map 類型的數據操作
ListOperations:針對 list 類型的數據操作
3.將事務操作封裝,有容器控制。
4.針對數據的“序列化/反序列化”,提供了多種可選擇策略(RedisSerializer)
JdkSerializationRedisSerializer:POJO 對象的存取場景,使用 JDK 本身 序列化機制.
StringRedisSerializer:Key 或者 value 為字符串的場景,根據指定的charset 對數據的字節序列編碼成 string,是“new String(bytes, charset)”和 “string.getBytes(charset)”的直接封裝。是最輕量級和高效的策略。
JacksonJsonRedisSerializer:jackson-json 工具提供了 javabean 與 json 之 間的轉換能力,可以將 pojo 實例序列化成 json 格式存儲在 redis 中,也可以將 json 格式的數據轉換成 pojo 實例。
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency>
spring: redis: host: 192.168.31.100 port: 6379 password: 111 database: 0 pool: max-active: 8 # 連接池最大連接數(使用負值表示沒有限制) max-wait: -1ms # 連接池最大阻塞等待時間(使用負值表示沒有限制) max-idle: 8 # 連接池中的最大空閑連接 min-idle: 0 # 連接池中的最小空閑連接 timeout: 5000ms # 連接超時時間(毫秒)
在application.yml文件中spring下添加如上配置
package com.ffyc.back.demo.config; import com.fasterxml.jackson.annotation.JsonAutoDetect; import com.fasterxml.jackson.annotation.JsonTypeInfo; import com.fasterxml.jackson.annotation.PropertyAccessor; import com.fasterxml.jackson.databind.DeserializationFeature; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.jsontype.impl.LaissezFaireSubTypeValidator; 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.Jackson2JsonRedisSerializer; import org.springframework.data.redis.serializer.StringRedisSerializer; @Configuration public class RedisConfig { /** * 序列化鍵,值 * @param connectionFactory * @return */ @Bean public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory connectionFactory) { RedisTemplate<String, Object> redisTemplate = new RedisTemplate<>(); redisTemplate.setConnectionFactory(connectionFactory); Jackson2JsonRedisSerializer<Object> jackson2JsonRedisSerializer = new Jackson2JsonRedisSerializer<Object>(Object.class); StringRedisSerializer redisSerializer = new StringRedisSerializer(); redisTemplate.setKeySerializer(redisSerializer); redisTemplate.setHashKeySerializer(redisSerializer); redisTemplate.setValueSerializer(jackson2JsonRedisSerializer); redisTemplate.setHashValueSerializer(jackson2JsonRedisSerializer); return redisTemplate; } }
在配置包中添加此配置
此配置類的作用是將后端將要傳過去的數據json序列化,如果沒有此配置的話后端傳過去的格式和redis端的不符合會出現亂碼情況
在需要使用的地方注入 注入后就可以使用了
(1)
(2)
看完了這篇文章,相信你對“SpringBoot集成如何使用Redis”有了一定的了解,如果想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。