最新消息: 新版網站上線了!!!

SpringBoot如何整合Redis

SpringBoot整合Redis

SpingBoot 對于 Redis 提供了開箱即用的 starter。而且抽象出了一層更加高級的API,底層Redis的客戶端對用戶來說是透明的。可以是 Jedis,也可以是 Lettuce

導入依賴

使用的是Lettuce作為Redis的客戶端

<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-data-redis</artifactId></dependency><dependency>
	<groupId>io.lettuce</groupId>
	<artifactId>lettuce-core</artifactId></dependency><dependency>
	<groupId>org.apache.commons</groupId>
	<artifactId>commons-pool2</artifactId></dependency>

配置

詳細的配置類 org.springframework.boot.autoconfigure.data.redis.RedisProperties

spring:
  redis:
    database: 0
    host: localhost
    port: 6379
    password:    # 連接超時時間(毫秒)
    timeout: 2000
    lettuce:
      pool:        # 連接池最大連接數(使用負值表示沒有限制)
        max-active: 8        # 連接池最大阻塞等待時間(使用負值表示沒有限制)
        max-wait: -1        # 連接池中的最大空閑連接
        max-idle: 8        # 連接池中的最小空閑連接
        min-idle: 0

Spring提供的客戶端

RedisTemplate<K, V>

頂層的一個接口,泛型。K 表示key的數據類型, V 表示 value的數據類型。

StringRedisTemplate

Sping提供的RedisTemplate 的實現,K V 都是字符串,它針對redis客戶端中大量api進行了歸類封裝,將同一類型操作封裝為operation接口。一般直接通過IOC注入該類實例使用

@Autowiredprivate StringRedisTemplate stringRedisTemplate;

ListOperations stringRedisTemplate.opsForList();// 返回操作list的operationSetOperations stringRedisTemplate.opsForSet();// 返回操作set的operationValueOperations stringRedisTemplate.opsForValue();// 返回操作普通k/v的operationZSetOperations stringRedisTemplate.opsForZSet();// 返回操作zset的operationHashOperations stringRedisTemplate.opsForHash();// 返回操作hash的operation

簡單的CRUD

@Autowiredprivate StringRedisTemplate stringRedisTemplate;public void foo() {	this.stringRedisTemplate.opsForValue().set("name", "SpringBoot");	this.stringRedisTemplate.opsForValue().get("name");	this.stringRedisTemplate.delete("name");
}


轉載請注明:谷谷點程序 » SpringBoot如何整合Redis

体彩25选5开奖号码