日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
springbootredis批量查詢

簡介

Redis 是一個開源的使用 ANSI C 語言編寫、遵守 BSD 協(xié)議、支持網(wǎng)絡(luò)、可基于內(nèi)存亦可持久化的日志型、Key-Value 數(shù)據(jù)庫,并提供多種語言的 API,在 Spring Boot 項目中,我們可以使用 RedisTemplate 或者 StringRedisTemplate 來操作 Redis 數(shù)據(jù),本文將介紹如何在 Spring Boot 項目中批量修改 Redis 數(shù)據(jù)。

創(chuàng)新互聯(lián)技術(shù)團(tuán)隊十多年來致力于為客戶提供網(wǎng)站制作、成都做網(wǎng)站、品牌網(wǎng)站設(shè)計、網(wǎng)絡(luò)營銷推廣、搜索引擎SEO優(yōu)化等服務(wù)。經(jīng)過多年發(fā)展,公司擁有經(jīng)驗豐富的技術(shù)團(tuán)隊,先后服務(wù)、推廣了近1000家網(wǎng)站,包括各類中小企業(yè)、企事單位、高校等機(jī)構(gòu)單位。

使用 RedisTemplate 批量修改 Redis

1、我們需要在項目中引入 Redis 相關(guān)依賴:


    org.springframework.boot
    spring-boot-starter-data-redis

2、在 application.properties 文件中配置 Redis 連接信息:

spring.redis.host=localhost
spring.redis.port=6379

3、在項目中創(chuàng)建一個 RedisService 類,用于封裝 Redis 操作方法:

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Service;
import java.util.concurrent.TimeUnit;
@Service
public class RedisService {
    @Autowired
    private RedisTemplate redisTemplate;
    /**
     * set key value with timeout
     * @param key the key of the Redis object to store in the database
     * @param value the data object to be stored in the database
     * @param timeout the time that the key will expire in seconds, optional, default is null, means never expire.
     */
    public void set(String key, Object value, Integer timeout) {
        redisTemplate.opsForValue().set(key, value, timeout, TimeUnit.SECONDS);
    }
}

4、在需要批量修改 Redis 數(shù)據(jù)的業(yè)務(wù)類中,注入 RedisService,然后調(diào)用 set 方法進(jìn)行批量修改:

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Map;
import java.util.concurrent.TimeUnit;
@Service
public class TestService {
    @Autowired
    private RedisService redisService;
    /**
     * batch set key value with timeout for all keys in map
     * @param keyValues a map contains key-value pairs to be stored in the database, like {"key1":"value1", "key2":"value2"}
     * @param timeout the time that the key will expire in seconds, optional, default is null, means never expire.
     */
    public void batchSet(Map keyValues, Integer timeout) {
        for (Map.Entry entry : keyValues.entrySet()) {
            redisService.set(entry.getKey(), entry.getValue(), timeout);
        }
    }
}

使用 StringRedisTemplate 批量修改 Redis(適用于字符串類型的數(shù)據(jù))

與 RedisTemplate 類似,我們可以使用 StringRedisTemplate 這個類來操作 Redis,首先需要在項目中引入 RedisStringRedisSerializer:


    org.springframework.boot
    spring-boot-starter-data-redis

然后在配置文件中添加 StringRedisSerializer:

spring.redis.string-serializer=org.springframework.data.redis.serializer.StringRedisSerializer$Instance

接下來,我們可以在 TestService 類中使用 StringRedisTemplate 實現(xiàn)批量修改 Redis:

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.stereotype.Service;
import java.util.Map;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.ReentrantLock;
import java.util.function.Function;
import java.util.stream.Collectors;
import java.util.stream.StreamSupport;
import javax.annotation.PostConstruct;
import javax.annotation.PreDestroy;
import org.springframework.data.redis.core.RedisCallback;
import org.springframework.data.redis.core.RedisOperations;
import org.springframework.data.redis.core.SessionCallback;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.stereotype.Component;
import org.springframeworktransactionsupport.TransactionSynchronizationManager; // 注意引入此包以支持事務(wù)回滾功能(如果需要)!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!-> 如果需要支持事務(wù)回滾功能,請務(wù)必引入此包(否則無法實現(xiàn)事務(wù)回滾功能)<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<---------------------------------------------------------------------------------------------------> 注意引入此包以支持事務(wù)回滾功能(如果需要) <---------------------------------------------------------------------------------------------------<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<---------------------------------------------------------------------------------------------------> 注意引入此包以支持事務(wù)回滾功能(如果需要) <---------------------------------------------------------------------------------------------------<<<<<<<<<<<<<<<<<<------------------------------------------------------------------------------------------------------------------------------------->>>>>>>>>>>>>>>>>>>>>>>>>>>>注意:這里使用了 Java8 Stream API 對多個 key 同時進(jìn)行批量修改操作,如果使用的是 Spring Boot 2 以及更高版本,可以考慮使用 Spring Data Redis 直接進(jìn)行批量操作。

文章標(biāo)題:springbootredis批量查詢
文章源于:http://m.5511xx.com/article/dpiggid.html