1. 程式人生 > >SpringBoot中 整合 redisTemplate 對 Redis 的操作(二)

SpringBoot中 整合 redisTemplate 對 Redis 的操作(二)

SpringBoot中 整合 redisTemplate 對 Redis 的操作(二)

List 型別的操作

1、 向列表左側新增資料

    Long leftPush = redisTemplate.opsForList().leftPush("name", name);

2、 向列表右側新增資料

    Long rightPush = redisTemplate.opsForList().rightPush("name", name);

3、 向列表左側批量新增資料

ArrayList<Object> list = new ArrayList<>();
    list.add("shanghai");
    list.add("shenzhen");
    list.add("beijing");
    redisTemplate.opsForList().leftPushAll("address", list);

4、 查詢列表中指定索引的值

    Object name = redisTemplate.opsForList().index("name", index);

5、 查詢列表指定範圍內的值

    List range = redisTemplate.opsForList().range(key, sIndex, eIndex);

6、 修改列表中 指定索引的值

    redisTemplate.opsForList().set(key, index, object);

7、 擷取列表中指定範圍內的值

    redisTemplate.opsForList().trim(key, sIndex, eIndex);

8、 移除列表中指定索引和指定值

    Long remove = redisTemplate.opsForList().remove(key, index, object);

9、 彈出列表左側的值

    Object o = redisTemplate.opsForList().leftPop(key);

10、 彈出列表右側的值

    Object o = redisTemplate.opsForList().rightPop(key, time, TimeUnit.MILLISECONDS);

11、彈出指定列表右側的值,並把值新增到另一指定列表的左側

    Object o = redisTemplate.opsForList().rightPopAndLeftPush(key1, key2, time, TimeUnit.SECONDS);
Hash 型別的操作

在操作hash 資料型別前,同樣我們自定義下 序列化規則

//定義Hash key 序列化 方式
redisTemplate.setHashKeySerializer(new StringRedisSerializer());
//定義Hash value 序列化方式
redisTemplate.setHashValueSerializer(new GenericJackson2JsonRedisSerializer());

1、 新增 key-value

    redisTemplate.opsForHash().put(key,hkey,hvalue);

2、 批量新增key-value

HashMap<Object, Object> map = new HashMap<>();
map.put("num", 2);
map.put("name", "susu");
map.put("age", 18);
redisTemplate.opsForHash().putAll(key, map);

3、 獲取 指定物件所有的 hash 值

    Map entries = redisTemplate.opsForHash().entries(key);

4、 獲取指定物件的所有key

    Set keys = redisTemplate.opsForHash().keys(key);

5、 獲取指定物件的所有value

    List values = redisTemplate.opsForHash().values(key);

6、 獲取指定物件的指定 key 的 value

    Object o = redisTemplate.opsForHash().get(key, hkey);

7、 根據指定物件的key 刪除value值

    Long delete = redisTemplate.opsForHash().delete(key, hkey);

8、 獲取指定物件的特定key 對應的value 的長度

    Long lengthOfValue = redisTemplate.opsForHash().lengthOfValue(