激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|數(shù)據(jù)庫技術(shù)|

服務(wù)器之家 - 數(shù)據(jù)庫 - Redis - SpringBoot 集成Redis 過程

SpringBoot 集成Redis 過程

2021-08-09 17:39不放糖的苦咖啡 Redis

redis是一個開源的、使用C語言編寫的、支持網(wǎng)絡(luò)交互的、可基于內(nèi)存也可持久化的Key-Value數(shù)據(jù)庫。本文給大家介紹SpringBoot 集成Redis 過程,感興趣的朋友一起看看吧

Redis 介紹: Redis 服務(wù)

Redis (REmote Dictionary Server) 是一個由Salvatore Sanfilippo 完成的key-value存儲系統(tǒng),是跨平臺的非關(guān)系型數(shù)據(jù)庫。

Redis 是一個開源的使用ANSI C語言編寫、遵循BSD 協(xié)議的、支持網(wǎng)絡(luò)、可基于內(nèi)存、分布式、可選擇持久性的鍵值對存儲數(shù)據(jù)庫,并提供多語言的API。

Redis 通常被認為是數(shù)據(jù)結(jié)構(gòu)服務(wù)器,其值可以是字符串、哈希、列表、集合以及有序集合。

Redis 優(yōu)點

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

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

支持豐富的數(shù)據(jù)結(jié)構(gòu)

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

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

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是現(xiàn)在最受歡迎的NoSQL數(shù)據(jù)庫之一,Redis是一個使用ANSI C編寫的開源、包含多種數(shù)據(jù)結(jié)構(gòu)、支持網(wǎng)絡(luò)、基于內(nèi)存、可選持久性的鍵值對存儲數(shù)據(jù)庫,其具備如下特性:

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

相比于其他數(shù)據(jù)庫類型,Redis具備的特點是:

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

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

SpringBoot 集成Redis 過程

1. 在pom.xml 中配置相關(guān)依賴 jar

?
1
2
3
4
<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>

2.在SpringBoot 中配置核心文件

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

?
1
2
3
4
# 配置redis
spring.redis.host:localhost
spring.redis.password=
spring.redis.port=6379

3. Redis 配置類及其使用

Redis 配置類

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
// RedisConfig redisconfig 配置
@Configuration
public class RedisConfig {
    /**
     * key redis serializer: {@link StringRedisSerializer} and
     * key redis serializer: {@link Jackson2JsonRedisSerializer}
     **/
    @Bean
    public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory factory) {
        // 創(chuàng)建對象
        RedisTemplate<String, Object> template = new RedisTemplate<>();
        Jackson2JsonRedisSerializer valueRedisSerializer = new Jackson2JsonRedisSerializer(Object.class);
        //設(shè)置Redis的value為json格式,并存儲對象信息的序列化類型
        ObjectMapper objectMapper = new ObjectMapper();
        objectMapper.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY);
        objectMapper.enableDefaultTyping(ObjectMapper.DefaultTyping.NON_FINAL);
        valueRedisSerializer.setObjectMapper(objectMapper);
?
        // 創(chuàng)建一個keyRedisSerializer
        RedisSerializer keyRedisSerializer = new StringRedisSerializer();
        // 設(shè)置信息
        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 的增刪改查等操作,針對多種數(shù)據(jù)類型的數(shù)據(jù)

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
/**
 * 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!=null&&key.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,如下所示:

?
1
2
3
4
5
6
// 使用RedisTemplate                                                                                
@Autowired
private RedisTemplate<String, String> redisTemplate;
?
@Autowired
private RedisTemplate<Object, Object> redisTemplate;

以上就是SpringBoot 集成Redis 過程的詳細內(nèi)容,更多關(guān)于Springboot Redis實戰(zhàn)的資料請關(guān)注服務(wù)器之家其它相關(guān)文章!

原文鏈接:https://blog.csdn.net/it_lxg123/article/details/117425653

延伸 · 閱讀

精彩推薦
  • RedisRedis全量復(fù)制與部分復(fù)制示例詳解

    Redis全量復(fù)制與部分復(fù)制示例詳解

    這篇文章主要給大家介紹了關(guān)于Redis全量復(fù)制與部分復(fù)制的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家學(xué)習(xí)或者使用Redis爬蟲具有一定的參考學(xué)習(xí)...

    豆子先生5052019-11-27
  • Redisredis實現(xiàn)排行榜功能

    redis實現(xiàn)排行榜功能

    排行榜在很多地方都能使用到,redis的zset可以很方便地用來實現(xiàn)排行榜功能,本文就來簡單的介紹一下如何使用,具有一定的參考價值,感興趣的小伙伴們...

    乘月歸5022021-08-05
  • RedisRedis如何實現(xiàn)數(shù)據(jù)庫讀寫分離詳解

    Redis如何實現(xiàn)數(shù)據(jù)庫讀寫分離詳解

    Redis的主從架構(gòu),能幫助我們實現(xiàn)讀多,寫少的情況,下面這篇文章主要給大家介紹了關(guān)于Redis如何實現(xiàn)數(shù)據(jù)庫讀寫分離的相關(guān)資料,文中通過示例代碼介紹...

    羅兵漂流記6092019-11-11
  • Redisredis中如何使用lua腳本讓你的靈活性提高5個逼格詳解

    redis中如何使用lua腳本讓你的靈活性提高5個逼格詳解

    這篇文章主要給大家介紹了關(guān)于redis中如何使用lua腳本讓你的靈活性提高5個逼格的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具...

    一線碼農(nóng)5812019-11-18
  • Redis詳解Redis復(fù)制原理

    詳解Redis復(fù)制原理

    與大多數(shù)db一樣,Redis也提供了復(fù)制機制,以滿足故障恢復(fù)和負載均衡等需求。復(fù)制也是Redis高可用的基礎(chǔ),哨兵和集群都是建立在復(fù)制基礎(chǔ)上實現(xiàn)高可用的...

    李留廣10222021-08-09
  • RedisRedis 事務(wù)知識點相關(guān)總結(jié)

    Redis 事務(wù)知識點相關(guān)總結(jié)

    這篇文章主要介紹了Redis 事務(wù)相關(guān)總結(jié),幫助大家更好的理解和學(xué)習(xí)使用Redis,感興趣的朋友可以了解下...

    AsiaYe8232021-07-28
  • Redisredis 交集、并集、差集的具體使用

    redis 交集、并集、差集的具體使用

    這篇文章主要介紹了redis 交集、并集、差集的具體使用,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友...

    xiaojin21cen10152021-07-27
  • RedisRedis的配置、啟動、操作和關(guān)閉方法

    Redis的配置、啟動、操作和關(guān)閉方法

    今天小編就為大家分享一篇Redis的配置、啟動、操作和關(guān)閉方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧 ...

    大道化簡5312019-11-14
主站蜘蛛池模板: 精品国产一区三区 | 久久国语对白 | 欧美高清在线精品一区二区不卡 | jizzjizz中国人少妇中文 | 国产精品九九久久一区hh | japanese javhd| 91午夜在线观看 | 精品国产一二区 | 一区二区精品在线 | 亚州精品在线视频 | 91精品国产乱码久 | 国产精品一区二区三区在线 | 久久久久久久久浪潮精品 | 今井夏帆av一区二区 | 免费观看黄色片视频 | 毛片视频在线免费观看 | 日韩黄色免费在线观看 | 在线视频 中文字幕 | 免费午夜视频 | 久久久一区二区三区精品 | 久久精品色 | 国产免费福利视频 | 中国美女一级黄色大片 | 国产精品免费一区二区三区都可以 | 国产二区三区视频 | 毛片免费看电影 | 斗罗破苍穹在线观看免费完整观看 | 久久精品视频1 | 久久蜜桃精品一区二区三区综合网 | 国产真实孩交 | 欧美a级在线免费观看 | 高清在线观看av | 亚洲骚妻 | 亚洲精品欧美在线 | 精品视频一区二区三区四区 | 看毛片免费 | www.99av| 老师你怎么会在这第2季出现 | 欧美一级www片免费观看 | 国产美女一区二区在线观看 | 日韩精品久久久久久久电影99爱 |