Springboot整合Redis的一些常用操作

_xie_發表於2021-07-02

RedisTemplate位於spring-data-redis包下。RedisTemplate提供了redis各種操作、異常處理及序列化,支援釋出訂閱。

一、Redis的五種型別常用操作:使用RedisTemeplate

在maven中新增依賴(下面只是主要的部分依賴)

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

spring-data-redis針對jedis提供瞭如下功能:

1.連線池自動管理,提供了一個高度封裝的RedisTemplate
2.針對jedis客服端api進行了歸類封裝,將同一操作型別封裝為operation介面

jedis五大型別

1.ValueOperations :簡單K-V操作
2.SetOperations : set型別操作
3.ZsetOperation : zset型別操作
4.MapOperation : map型別操作
5.ListOperation : list型別操作

RedisTemplate對五種型別的操作方式如下:

redisTemplate.opsForValue()
redisTemplate.opsForSet()
redisTemplate.opsForZSet()
redisTemplate.opsForMap()
redisTemplate.opsForList()

或者使用下面的方式

redisTemplate.boundValueOps()
redisTemplate.boundSetOps()
redisTemplate.boundZSetOps()
redisTemplate.boundMapOps()
redisTemplate.boundListOps()

opsForXXX和boundXXXOps的區別?

前者獲取一個operator,但是沒有指定操作的物件(key),可以在一個連線(事務)內操作多個key以及對應的value;後者獲取了一個指定操作物件(key)的operator,在一個連線(事務)內只能操作這個key對應的value。

1、Value(值)型別

@Test
    public void testValue(){
        redisTemplate.boundValueOps("testValue1").set("value1"); 
        redisTemplate.boundValueOps("testValue2").set("value2");
    }

    @Test
    public void getValue(){
        Object o1 = redisTemplate.boundValueOps("testValue1").get();
        Object o2 = redisTemplate.boundValueOps("testValue2").get();
        System.out.println(o1 + " "  + o2);
    }
    //輸出 value1 value2

Springboot整合Redis的一些常用操作

2、set型別:無序、不可重複

這個是用的這個redis軟體,看你們要用沒
redis視覺化介面

未完

本作品採用《CC 協議》,轉載必須註明作者和本文連結
~邪~

相關文章