日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學(xué)無(wú)先后,達(dá)者為師

網(wǎng)站首頁(yè) 編程語(yǔ)言 正文

一文搞懂阿里云服務(wù)器部署Redis并整合Spring?Boot_Redis

作者:Bug?終結(jié)者 ? 更新時(shí)間: 2022-11-16 編程語(yǔ)言

一、什么是Redis

redis是一個(gè)key-value存儲(chǔ)系統(tǒng)。和Memcached類(lèi)似,它支持存儲(chǔ)的value類(lèi)型相對(duì)更多,包括string(字符串)、list(鏈表)、set(集合)、zset(sorted set --有序集合)和hash(哈希類(lèi)型)。這些數(shù)據(jù)類(lèi)型都支持push/pop、add/remove及取交集并集和差集及更豐富的操作,而且這些操作都是原子性的。在此基礎(chǔ)上,redis支持各種不同方式的排序。與memcached一樣,為了保證效率,數(shù)據(jù)都是緩存在內(nèi)存中。區(qū)別的是redis會(huì)周期性的把更新的數(shù)據(jù)寫(xiě)入磁盤(pán)或者把修改操作寫(xiě)入追加的記錄文件,并且在此基礎(chǔ)上實(shí)現(xiàn)了master-slave(主從)同步。

Redis是一個(gè)NoSQL數(shù)據(jù)庫(kù)

不僅僅是數(shù)據(jù)庫(kù)!

二、Redis的優(yōu)缺點(diǎn)

優(yōu)點(diǎn):

  • 讀寫(xiě)性能非常好,Redis讀的速度是 110000次/s ,寫(xiě)的速度是 81000次/s
  • 支持?jǐn)?shù)據(jù)持久化,AOF和RDB兩種持久化方式
  • 支持事務(wù),事務(wù)是原子性的
  • 數(shù)據(jù)結(jié)構(gòu)豐富,支持多種數(shù)據(jù)結(jié)構(gòu)(String、List、Set、Hash、ZSet、HyperLogLog、Bitmaps、Geospatial等)
  • 支持主從復(fù)制、讀寫(xiě)分離

缺點(diǎn):

  • 數(shù)據(jù)庫(kù)容量受到物理內(nèi)存的限制,不能用作海量數(shù)據(jù)的高性能讀寫(xiě),因此Redis適合的場(chǎng)景主要局限在較小數(shù)據(jù)量的高性能操作和運(yùn)算上。
  • Redis 不具備自動(dòng)容錯(cuò)和恢復(fù)功能,主機(jī)從機(jī)的宕機(jī)都會(huì)導(dǎo)致前端部分讀寫(xiě)請(qǐng)求失敗,需要等待機(jī)器重啟或者手動(dòng)切換前端的IP才能恢復(fù)。
  • 主機(jī)宕機(jī)前,無(wú)法完全將數(shù)據(jù)同步到從機(jī),切換ip后會(huì)導(dǎo)致數(shù)據(jù)不一致問(wèn)題,降低可用性

但優(yōu)點(diǎn)還是大于缺點(diǎn)的,Redis是單線程的、基于key-value的,速度極快,可以提高系統(tǒng)的可用性,具有更好的高并發(fā)吞吐量能力~

三、阿里云服務(wù)器部署安裝Redis

??在Linux服務(wù)器新建文件夾存放Redis

進(jìn)入 /usr/local/,新建redis目錄

mkdir redis

下載redis

wget http://download.redis.io/releases/redis-5.0.7.tar.gz

解壓剛剛下載的redis

tar -zvxf redis-5.0.7.tar.gz

查看目錄文件;

ll

輸入命令編譯文件

make

輸入命令安裝:

make PREFIX=/usr/local/redi

此命令會(huì)生成啟動(dòng)文件:

進(jìn)入bin目錄創(chuàng)建conf配置文件目錄

cd bin
mkdir conf

將配置文件復(fù)制到bin目錄內(nèi):

cp /usr/local/redis/redis-5.0.7/redis.conf config/

進(jìn)入bin目錄啟動(dòng)redis;

./redis-server # 啟動(dòng)服務(wù)

?測(cè)試連接

啟動(dòng)客戶端:

./redis-cli		# 啟動(dòng)客戶端

連接成功!

四、關(guān)閉防火墻,配置Redis訪問(wèn)端口

?配置Redis

進(jìn)入Redis安裝目錄:

cd /usr/local/redis/redis-5.0.7/bin/config

打開(kāi)配置文件:

vim redis.conf

修改如下:

保存并退出:

esc
:wq

?關(guān)閉防火墻

查詢80端口是否啟動(dòng):

firewall-cmd --query-port=80/tcp

可以看到,未啟動(dòng)

關(guān)閉Linux防火墻:

systemctl status firewalld

?阿里云控制臺(tái)添加6379接口訪問(wèn)

五、Spring Boot 整合 Redis

新建基于Maven管理的Spring Boot項(xiàng)目,整合Redis,實(shí)現(xiàn)遠(yuǎn)程連接阿里云服務(wù)器測(cè)試!

??項(xiàng)目結(jié)構(gòu)

導(dǎo)入依賴:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-redis</artifactId>
    <exclusions>
        <exclusion>
            <groupId>io.lettuce</groupId>
            <artifactId>lettuce-core</artifactId>
        </exclusion>
    </exclusions>
</dependency>
<dependency>
    <groupId>redis.clients</groupId>
    <artifactId>jedis</artifactId>
</dependency>

?核心源碼

測(cè)試類(lèi):

package com.wanshi.test;

import com.wanshi.MainApplication;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.test.context.junit4.SpringRunner;

@RunWith(SpringRunner.class)
@SpringBootTest(classes = MainApplication.class)
public class Test1 {

    @Autowired
    private StringRedisTemplate redisTemplate;

    @Test
    public void t1() {
        redisTemplate.opsForValue().set("xiaowang", "hello");
        String xiaowang = redisTemplate.opsForValue().get("xiaowang");
        System.out.println(xiaowang);
    }
}

??測(cè)試結(jié)果

執(zhí)行結(jié)果:

總結(jié)

Redis是一個(gè)NoSQL非關(guān)系型數(shù)據(jù)庫(kù),性能非常好,讀寫(xiě)速度秒殺所有數(shù)據(jù)庫(kù),可以說(shuō)是性能最好的數(shù)據(jù)庫(kù),Redis支持主從復(fù)制,緩存,底層采用key-value形式存儲(chǔ)數(shù)據(jù),速度非常快,性能很好,推薦使用,目前大部分企業(yè)都在使用Redis!

原文鏈接:https://blog.csdn.net/weixin_45526437/article/details/123901841

欄目分類(lèi)
最近更新