一文搞懂阿里云服务器部署Redis并整合Spring Boot

 更新时间:2022年09月26日 15:42:37   作者:Bug 终结者  
这篇文章主要介绍了一文搞懂阿里云服务器部署Redis并整合Spring Boot,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下

一、什么是Redis

redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis支持各种不同方式的排序。与memcached一样,为了保证效率,数据都是缓存在内存中。区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。

Redis是一个NoSQL数据库

不仅仅是数据库!

二、Redis的优缺点

优点:

  • 读写性能非常好,Redis读的速度是 110000次/s ,写的速度是 81000次/s
  • 支持数据持久化,AOF和RDB两种持久化方式
  • 支持事务,事务是原子性的
  • 数据结构丰富,支持多种数据结构(String、List、Set、Hash、ZSet、HyperLogLog、Bitmaps、Geospatial等)
  • 支持主从复制、读写分离

缺点:

  • 数据库容量受到物理内存的限制,不能用作海量数据的高性能读写,因此Redis适合的场景主要局限在较小数据量的高性能操作和运算上。
  • Redis 不具备自动容错和恢复功能,主机从机的宕机都会导致前端部分读写请求失败,需要等待机器重启或者手动切换前端的IP才能恢复。
  • 主机宕机前,无法完全将数据同步到从机,切换ip后会导致数据不一致问题,降低可用性

但优点还是大于缺点的,Redis是单线程的、基于key-value的,速度极快,可以提高系统的可用性,具有更好的高并发吞吐量能力~

三、阿里云服务器部署安装Redis

❇️在Linux服务器新建文件夹存放Redis

进入 /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

此命令会生成启动文件:

进入bin目录创建conf配置文件目录

cd bin
mkdir conf

将配置文件复制到bin目录内:

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

进入bin目录启动redis;

./redis-server # 启动服务

✅测试连接

启动客户端:

./redis-cli		# 启动客户端

连接成功!

四、关闭防火墙,配置Redis访问端口

⏰配置Redis

进入Redis安装目录:

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

打开配置文件:

vim redis.conf

修改如下:

保存并退出:

esc
:wq

⏰关闭防火墙

查询80端口是否启动:

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

可以看到,未启动

关闭Linux防火墙:

systemctl status firewalld

⏰阿里云控制台添加6379接口访问

五、Spring Boot 整合 Redis

新建基于Maven管理的Spring Boot项目,整合Redis,实现远程连接阿里云服务器测试!

♻️项目结构

导入依赖:

<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>

⛽核心源码

测试类:

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);
    }
}

✳️测试结果

执行结果:

总结

Redis是一个NoSQL非关系型数据库,性能非常好,读写速度秒杀所有数据库,可以说是性能最好的数据库,Redis支持主从复制,缓存,底层采用key-value形式存储数据,速度非常快,性能很好,推荐使用,目前大部分企业都在使用Redis!

到此这篇关于一文搞懂阿里云服务器部署Redis并整合Spring Boot的文章就介绍到这了,更多相关Redis整合Spring Boot内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 使用Redis实现微信步数排行榜功能

    使用Redis实现微信步数排行榜功能

    这篇文章主要介绍了使用Redis实现微信步数排行榜功能,本文通过图文实例代码相结合给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-06-06
  • NestJS+Redis实现手写一个限流器

    NestJS+Redis实现手写一个限流器

    限流是大型系统必备的保护措施,本文将结合redis , lua 脚本 以及 Nestjs Guard 来实现 限流的效果,感兴趣的小伙伴可以跟随小编一起学习一下
    2023-11-11
  • Redis中Scan命令的踩坑实录

    Redis中Scan命令的踩坑实录

    这篇文章主要给大家介绍了关于Redis中Scan命令踩坑的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2020-07-07
  • Redis实现IP限流的2种方式举例详解

    Redis实现IP限流的2种方式举例详解

    通俗的说限流就是限制一段时间内用户访问资源的次数,减轻服务器压力,这篇文章主要给大家介绍了关于Redis实现IP限流的2种方式,文中通过图文介绍的非常详细,需要的朋友可以参考下
    2024-08-08
  • redis-trib.rb命令详解

    redis-trib.rb命令详解

    redis-trib.rb是官方提供的Redis Cluster的管理工具,无需额外下载,默认位于源码包的src目录下,但因该工具是用ruby开发的,所以需要准备相关的依赖环境,这篇文章主要介绍了redis-trib.rb命令详解,需要的朋友可以参考下
    2023-10-10
  • redis protocol通信协议及使用详解

    redis protocol通信协议及使用详解

    这篇文章主要为大家介绍了redis protocol通信协议及使用详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-07-07
  • 浅谈Redis在秒杀场景的作用

    浅谈Redis在秒杀场景的作用

    本文主要介绍了浅谈Redis在秒杀场景的作用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-01-01
  • Redis基本数据类型List常用操作命令

    Redis基本数据类型List常用操作命令

    这篇文章主要为大家介绍了Redis数据类型List常用命令操作,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-05-05
  • 内存型数据库Redis持久化小结

    内存型数据库Redis持久化小结

    redis是一个支持持久化的内存数据库,也就是说redis需要经常将内存中的数据同步到磁盘来保证持久化.redis支持四种持久化方式,一是 Snapshotting(快照)也是默认方式,二是Append-only file(缩写aof)的方式,三是虚拟内存方式,四是diskstore方式.今天我们总结下前2种。
    2017-09-09
  • 关于SpringBoot 使用 Redis 分布式锁解决并发问题

    关于SpringBoot 使用 Redis 分布式锁解决并发问题

    针对上面问题,一般的解决方案是使用分布式锁来解决,本文通过场景分析给大家介绍关于SpringBoot 使用 Redis 分布式锁解决并发问题,感兴趣的朋友一起看看吧
    2021-11-11

最新评论