好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > SpringBoot 集成Redis 過程

SpringBoot 集成Redis 過程

熱門標簽:貴州電銷卡外呼系統 超呼電話機器人 北京400電話辦理收費標準 鄭州人工智能電銷機器人系統 魔獸2青云地圖標注 宿遷便宜外呼系統平臺 十堰營銷電銷機器人哪家便宜 山東外呼銷售系統招商 日本中國地圖標注

Redis 介紹: Redis 服務

Redis (REmote Dictionary Server) 是一個由Salvatore Sanfilippo 完成的key-value存儲系統,是跨平臺的非關系型數據庫。

Redis 是一個開源的使用ANSI C語言編寫、遵循BSD 協議的、支持網絡、可基于內存、分布式、可選擇持久性的鍵值對存儲數據庫,并提供多語言的API。

Redis 通常被認為是數據結構服務器,其值可以是字符串、哈希、列表、集合以及有序集合。

Redis 優點

異常快,每秒可以執行大約110000次寫(set)操作

每秒可執行大約81000次讀(get)操作

支持豐富的數據結構

操作具有原子性, 所有Redis 操作都是原子操作,這確保了兩個客戶端并發訪問,Redis 服務器能接收更新的值。

多使用工具,緩存,消息隊列(Redis 本地支持發布/訂閱),應用程序中的任何短期數據。

Redis 安裝

下載地址:

https://github.com/MSOpenTech/redis/releases

Redis 支持32位和64 位,下載完成后,解壓后,文件夾下面包含許多子文件,打開cmd 窗口,將其切換到redis 目錄下,輸入命名:

D:\sdk\Redis-x64-5.0.9  redis-server.exe  redis.windows.conf

Redis是什么

Redis是現在最受歡迎的NoSQL數據庫之一,Redis是一個使用ANSI C編寫的開源、包含多種數據結構、支持網絡、基于內存、可選持久性的鍵值對存儲數據庫,其具備如下特性:

  • 基于內存運行,性能高效
  • 支持分布式,理論上可以無限擴展
  • key-value存儲系統
  • 開源的使用ANSI C語言編寫、遵守BSD協議、支持網絡、可基于內存亦可持久化的日志型、Key-Value數據庫,并提供多種語言的API

相比于其他數據庫類型,Redis具備的特點是:

  • C/S通訊模型
  • 單進程單線程模型
  • 豐富的數據類型
  • 操作具有原子性
  • 持久化
  • 高并發讀寫
  • 支持lua腳本

如果想使用redis 啟動更加容易的話,可以使用 將redis 安裝路徑加入到環境變量中,直接點擊 redis-server.exe 即可啟動redis 服務。

SpringBoot 集成Redis 過程

1. 在pom.xml 中配置相關依賴 jar

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

2.在SpringBoot 中配置核心文件

在application.properties 文件下添加配置redis 信息

# 配置redis
spring.redis.host:localhost
spring.redis.password=
spring.redis.port=6379

3. Redis 配置類及其使用

Redis 配置類

// RedisConfig redisconfig 配置
@Configuration
public class RedisConfig {
    /**
     * key redis serializer: {@link StringRedisSerializer} and
     * key redis serializer: {@link Jackson2JsonRedisSerializer}
     **/
    @Bean
    public RedisTemplateString, Object> redisTemplate(RedisConnectionFactory factory) {
        // 創建對象
        RedisTemplateString, Object> template = new RedisTemplate>();
        Jackson2JsonRedisSerializer valueRedisSerializer = new Jackson2JsonRedisSerializer(Object.class);
        //設置Redis的value為json格式,并存儲對象信息的序列化類型
        ObjectMapper objectMapper = new ObjectMapper();
        objectMapper.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY);
        objectMapper.enableDefaultTyping(ObjectMapper.DefaultTyping.NON_FINAL);
        valueRedisSerializer.setObjectMapper(objectMapper);
​
        // 創建一個keyRedisSerializer
        RedisSerializer keyRedisSerializer = new StringRedisSerializer();
        // 設置信息
        template.setKeySerializer(keyRedisSerializer);
        template.setValueSerializer(valueRedisSerializer);
        template.setHashKeySerializer(keyRedisSerializer);
        template.setHashValueSerializer(valueRedisSerializer);
        template.setConnectionFactory(factory);
        template.afterPropertiesSet();
        return template;
    }
​
    // redisUtils()  方法
    @Bean
    public RedisUtils redisUtils(@Autowired RedisTemplate redisTemplate) {
        return new RedisUtils(redisTemplate);
    }
}

Redis 工具類, 首先redis 的增刪改查等操作,針對多種數據類型的數據

/**
 * redis工具類
 *
 * @author Jone
 */
// RedisUtils
@Slf4j
public class RedisUtils {
​
    // 初始化變量
    private static Logger logger = LoggerFactory.getLogger(RedisUtils.class);
​
​
    private static RedisTemplate redisTemplate;
​
    public RedisUtils(RedisTemplate redisTemplate) {
        this.redisTemplate = redisTemplate;
    }
​
    // =============================common============================
​
​
    /**
     * 判斷key是否存在
     *
     * @param key 鍵
     * @return true 存在 false不存在
     */
    public Boolean hasKey(String key) {
        try {
            return redisTemplate.hasKey(key);
        } catch (Exception e) {
            logger.error("判斷key是否存在異常: {}", e);
            return false;
        }
    }
​
    /**
     * 普通緩存獲取
     *
     * @param key 鍵
     * @return 值
     */
    public Object get(String key) {
        return key == null ? null : redisTemplate.opsForValue().get(key);
    }
​
    /**
     * 刪除
     * @param key
     * @return
     */
    public boolean del(String ... key){
        if(key!=nullkey.length>0){
​
                redisTemplate.delete(key[0]);
                return true;
            }else{
                redisTemplate.delete(CollectionUtils.arrayToList(key));
                return true;
            }
        }
        return false;
    }
​
    // SET JIHE
    public Set getKeys(){
       return redisTemplate.keys("*");
    }
​
    /**
     * 普通緩存放入
     *
     * @param key   鍵
     * @param value 值
     * @return true成功 false失敗
     */
    public Boolean set(String key, Object value) {
        try {
            redisTemplate.opsForValue().set(key, value);
            return true;
        } catch (Exception e) {
            logger.error("set異常: {}", e);
            return false;
        }
    }
}

配置完備之后,自動配置RedisTemplate ,需要操作redis 的類中注入redisTeplate,如下所示:

// 使用RedisTemplate                                                                                
@Autowired
private RedisTemplateString, String> redisTemplate;
​
@Autowired 
private RedisTemplateObject, Object> redisTemplate;

以上就是SpringBoot 集成Redis 過程的詳細內容,更多關于Springboot Redis實戰的資料請關注腳本之家其它相關文章!

您可能感興趣的文章:
  • springboot利用redis、Redisson處理并發問題的操作
  • springboot2.5.0和redis整合配置詳解
  • Springboot基礎之RedisUtils工具類
  • SpringSecurity整合springBoot、redis實現登錄互踢功能
  • Springboot Redis設置key前綴的方法步驟
  • 詳解springboot中各個版本的redis配置問題
  • springboot+redis 實現分布式限流令牌桶的示例代碼
  • redis 集群批量操作實現
  • SpringBoot+redis配置及測試的方法
  • SpringBoot集成Redis數據庫,實現緩存管理

標簽:果洛 大慶 北京 楊凌 臺州 朝陽 江蘇 吉安

巨人網絡通訊聲明:本文標題《SpringBoot 集成Redis 過程》,本文關鍵詞  SpringBoot,集成,Redis,過程,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《SpringBoot 集成Redis 過程》相關的同類信息!
  • 本頁收集關于SpringBoot 集成Redis 過程的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 老鸭窝91久久久久精品色噜噜| 男人下部秘?免费视频| 边做边叫床视频播放| 久99久女女精品免费观看69堂| 欧美做爰BBB性BBBBB8| 91啦中文成人| 新宁县| 欧洲一区二区三区久久久| 国产欧美综合精品一区二区| 国产 亚洲 偷窥 日韩| 1v1私奴调教日常| 操哭你| 免费特黄一区二区三区视频一| 动漫美女被扒掉内衣捏胸 | 国产ts人妖一区二区精品| 透逼逼| 国产借贷宝裸条在线100集播放| 久久久久精品国产亚洲果冻| 尤物免费在线观看| 娇妻在农场内被灌满脓液小说| 小受穿丁字裤被c到高潮视频| 办公室秘书娇喘呻吟在线视频| 男女爽爽无遮拦午夜视频| 我的性启蒙袁老师| 99久久婷婷国产综精品喷水| 97av麻豆蜜桃一区二区| 巨胸流奶水视频在线播放| 法国潮湿的小内裤bd| 鲜嫩多汁(快穿 高H)| 亚瑟色欲色欲www成人小说| 性欧美free巨大| 小东西是不是又想要了| 强h暴虐调教H| 13学生小嫩嫩裸体69XX直播| 商务旅行女老板戴绿色帽子| 中文字幕久久亚洲一区| 亚洲动漫第一页| 992TV在线观看视频| 久久漫画| 日本xxxx泡妞| 双指探洞越来越深|