spring data redis原始碼分析

2021-10-01 18:17:09 字數 2460 閱讀 3322

spring-data-redis提供了redis操作的封裝和實現。

redistemplate模板類封裝了redis連線池管理的邏輯,業務**無須關心獲取,釋放連線邏輯。

spring redis同時支援了jedis,jredis,rjc 客戶端操作。

spring redis 原始碼設計邏輯可以分為以下幾個方面:

spring redis連線管理模組分析

redistemplate

同樣底層是維護了redisconnectionfactory,在spring data redis中和rediscachemanager屬於不同的redis應用模組,rediscachemanager負責redis資料快取的核心實現,redistemplate是spring為方便操作redis各種命令而封裝出來的工具類,其功能類似於jedis

配置檔案

package com.example.myredisdemo.config;

import com.fasterxml.jackson.annotation.jsonautodetect;

import com.fasterxml.jackson.annotation.propertyaccessor;

import org.springframework.boot.context.properties.configurationproperties;

import org.springframework.context.annotation.bean;

import org.springframework.context.annotation.configuration;

import org.springframework.context.annotation.propertysource;

import org.springframework.data.redis.connection.redisconnectionfactory;

import org.springframework.data.redis.connection.redisstandaloneconfiguration;

import org.springframework.data.redis.connection.jedis.jedisclientconfiguration;

import org.springframework.data.redis.connection.jedis.jedisconnectionfactory;

import org.springframework.data.redis.core.redistemplate;

import org.springframework.data.redis.serializer.genericjackson2jsonredisserializer;

import org.springframework.data.redis.serializer.jackson2jsonredisserializer;

import org.springframework.data.redis.serializer.stringredisserializer;

import org.springframework.stereotype.component;

import redis.clients.jedis.jedispoolconfig;

/** * 日期:2019/12/26 9:50

*/@configuration

@propertysource

(value =

)public

class

redisconfig

/** */

@bean

@configurationproperties

(prefix =

"spring.redis"

)public redisconnectionfactory redisconnectionfactory

(jedispoolconfig config)

/** * redistemplate(或stringredistemplate)雖然已經自動配置,但是不靈活(第一沒有序列化,第二泛型為不是我們想要的型別)

* 所以自己實現redistemplate或stringredistemplate)

*/@bean

(name =

"redistemplate"

)public redistemplate

redistemplate

(jedisconnectionfactory factory)

public

void

setredistemplate

(redistemplate redistemplate)

}

spring data redis簡單演示

專案需要將jedis整合到spring中,正好spring專案中包括了spring data redis專案,並對jedis進行了封裝。極大的方便了redis的操作。所需的基本包 spring的配置檔案中加入redis的配置 配置好後就可以直接在專案中使用redistemplate和stringre...

spring data redis 基本使用

stringredistemplate.opsforvalue set test 100 60 10,timeunit.seconds 向redis裡存入資料和設定快取時間 stringredistemplate.opsforvalue get test 根據key獲取快取中的val stringr...

Spring Data Redis 正確使用姿勢

課程簡介 本課程主要講解常規 redis 的寫法,redis 和 spring 的結合使用,即 spring data redis,以及 redis 在工作中的正確使用姿勢,redis 和 spring 的 cacheable 的結合使用。裡面貫穿了基本使用方法和工作實踐結合在實際工作中的寫法,起到...