SpringBoot集成使用Redis及搭建過(guò)程
SpringBoot集成使用redis
Jedis 是 Redis 官方推出的一款面向 Java 的客戶端,提供了很多接口供 Java 語(yǔ)言調(diào)用??梢栽?Redis 官網(wǎng)下載. Spring-data-redis 是 spring 大家族的一部分,提供了在 srping 應(yīng)用中通 過(guò)簡(jiǎn)單的配置訪問(wèn) redis 服務(wù),對(duì) reids 底層開(kāi)發(fā)包(Jedis, JRedis, and RJC)進(jìn) 行了高度封裝,RedisTemplate 提供了 redis 各種操作
spring-data-redis 針對(duì) jedis 提供了如下功能:
- 連接池自動(dòng)管理,提供了一個(gè)高度封裝的“RedisTemplate”類.
- 針對(duì) jedis 客戶端中大量 api 進(jìn)行了歸類封裝,將同一類型操作封裝為 operation 接口.
ValueOperations:簡(jiǎn)單 K-V 操作
SetOperations:set 類型數(shù)據(jù)操作
ZSetOperations:zset 類型數(shù)據(jù)操作
HashOperations:針對(duì) map 類型的數(shù)據(jù)操作
ListOperations:針對(duì) list 類型的數(shù)據(jù)操作
3.將事務(wù)操作封裝,有容器控制。
4.針對(duì)數(shù)據(jù)的“序列化/反序列化”,提供了多種可選擇策略(RedisSerializer)
JdkSerializationRedisSerializer:POJO 對(duì)象的存取場(chǎng)景,使用 JDK 本身 序列化機(jī)制.
StringRedisSerializer:Key 或者 value 為字符串的場(chǎng)景,根據(jù)指定的charset 對(duì)數(shù)據(jù)的字節(jié)序列編碼成 string,是“new String(bytes, charset)”和 “string.getBytes(charset)”的直接封裝。是最輕量級(jí)和高效的策略。
JacksonJsonRedisSerializer:jackson-json 工具提供了 javabean 與 json 之 間的轉(zhuǎn)換能力,可以將 pojo 實(shí)例序列化成 json 格式存儲(chǔ)在 redis 中,也可以將 json 格式的數(shù)據(jù)轉(zhuǎn)換成 pojo 實(shí)例。
搭建
1.導(dǎo)入jar包

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
2.配置連接redis


spring:
redis:
host: 192.168.31.100
port: 6379
password: 111
database: 0
pool: max-active: 8 # 連接池最大連接數(shù)(使用負(fù)值表示沒(méi)有限制)
max-wait: -1ms # 連接池最大阻塞等待時(shí)間(使用負(fù)值表示沒(méi)有限制)
max-idle: 8 # 連接池中的最大空閑連接
min-idle: 0 # 連接池中的最小空閑連接
timeout: 5000ms # 連接超時(shí)時(shí)間(毫秒)在application.yml文件中spring下添加如上配置
3.添加配置類RedisConfig

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;
}
}在配置包中添加此配置
此配置類的作用是將后端將要傳過(guò)去的數(shù)據(jù)json序列化,如果沒(méi)有此配置的話后端傳過(guò)去的格式和redis端的不符合會(huì)出現(xiàn)亂碼情況
4.注入RedisTemplate



在需要使用的地方注入 注入后就可以使用了
5.測(cè)試和使用

使用實(shí)例:
(1)

(2)

到此這篇關(guān)于SpringBoot集成使用Redis的文章就介紹到這了,更多相關(guān)SpringBoot集成使用Redis內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Spring Boot實(shí)現(xiàn)數(shù)據(jù)訪問(wèn)計(jì)數(shù)器方案詳解
在Spring Boot項(xiàng)目中,有時(shí)需要數(shù)據(jù)訪問(wèn)計(jì)數(shù)器,怎么實(shí)現(xiàn)數(shù)據(jù)訪問(wèn)計(jì)數(shù)器呢?下面小編給大家?guī)?lái)了Spring Boot數(shù)據(jù)訪問(wèn)計(jì)數(shù)器的實(shí)現(xiàn)方案,需要的朋友參考下吧2021-08-08
使用mybatis的@Interceptor實(shí)現(xiàn)攔截sql的方法詳解
攔截器是一種基于 AOP(面向切面編程)的技術(shù),它可以在目標(biāo)對(duì)象的方法執(zhí)行前后插入自定義的邏輯,本文給大家介紹了使用mybatis的@Interceptor實(shí)現(xiàn)攔截sql的方法,需要的朋友可以參考下2024-03-03
java 使用Scanner類接收從控制臺(tái)輸入的數(shù)據(jù)方式
這篇文章主要介紹了java 使用Scanner類接收從控制臺(tái)輸入的數(shù)據(jù)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-08-08
Java mutable對(duì)象和immutable對(duì)象的區(qū)別說(shuō)明
這篇文章主要介紹了Java mutable對(duì)象和immutable對(duì)象的區(qū)別,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-06-06
Java中OkHttp 超時(shí)設(shè)置的實(shí)現(xiàn)
超時(shí)設(shè)置是網(wǎng)絡(luò)編程中不可忽視的一部分,本文就來(lái)介紹一下Java中OkHttp 超時(shí)設(shè)置的實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下2024-06-06
初始JAVA模塊化開(kāi)發(fā)的超詳細(xì)步驟(適合菜鳥(niǎo))
這篇文章主要介紹了初始JAVA模塊化開(kāi)發(fā)的超詳細(xì)步驟,詳細(xì)解釋了模塊描述符的職責(zé)、模塊路徑的概念以及如何使用命令行運(yùn)行模塊化Java程序,文中通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下2025-03-03
Java 大小寫最快轉(zhuǎn)換方式實(shí)例代碼
這篇文章主要介紹了Java 大小寫最快轉(zhuǎn)換方式實(shí)例代碼的相關(guān)資料,需要的朋友可以參考下2017-07-07
基于Springboot一個(gè)注解搞定數(shù)據(jù)字典的實(shí)踐方案
這篇文章主要介紹了基于Springboot一個(gè)注解搞定數(shù)據(jù)字典問(wèn)題,大致的方向是自定義注解,在序列化的時(shí)候進(jìn)行數(shù)據(jù)處理,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-06-06

