【微服务中间件学习】redis基础及项目使用

背景

最近跟着大佬学习,发现之前都是一知半解,还是得系统学一下。

【微服务中间件学习】redis基础及项目使用_第1张图片

重温redis,有一下整理Redis是一种基于内存的高性能键值存储系统,它支持多种数据结构和持久化方式,并提供了许多高级功能,如发布/订阅、事务等。

下面是Redis的一些知识点:

  1. 数据结构 Redis支持字符串、列表、哈希、集合和有序集合这五种数据结构。其中,字符串是最基本的数据类型,而其他四种数据结构则是在字符串基础上实现的高级数据结构。
  2. 持久化 Redis提供了两种持久化方式:RDB和AOF。RDB是将Redis数据集以快照的形式保存在磁盘上,而AOF则是将Redis执行的每个写命令都追加到一个文件中。可以根据具体需求选择一种或两种持久化方式来保证数据的持久性。
  3. 发布/订阅 Redis支持发布/订阅模式,允许多个客户端订阅同一个频道,并在频道发布消息时接收到通知。这种模式在实现即时通信、消息推送等场景时非常有用。
  4. 事务 Redis支持事务,可以将多个命令打包成一个事务进行执行,并且保证事务的原子性。在执行事务期间,如果出现错误,Redis会回滚整个事务,保证数据的一致性。
  5. Lua脚本 Redis支持Lua脚本,可以将多个命令封装成一个脚本进行执行。Lua脚本在性能和灵活性上都比较优秀,可以用来实现一些复杂的业务逻辑。
  6. 集群 Redis可以通过集群方式实现高可用性和横向扩展。Redis集群采用分片方式进行数据分布,每个节点只负责部分数据,同时还提供了故障转移和自动负载均衡等功能。
  7. 性能优化 Redis的性能非常高,但在实际使用过程中也需要注意一些性能优化方面的问题,如合理设置内存、使用pipeline和批量操作等。此外,还可以通过Redis性能剖析工具来定位性能瓶颈并进行优化。

这些是Redis的一些基本知识点,使用Redis需要结合实际场景进行具体实现和调优。

​ 方便大家梳理,下边是我整理到思维导图,拿走不谢。

【微服务中间件学习】redis基础及项目使用_第2张图片

项目中简单使用

  1. 引入Redis依赖

在Maven或Gradle项目中,需要在pom.xml或build.gradle中添加以下依赖:

Maven:

xmlCopy code

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

  1. 配置Redis连接信息

在application.properties或application.yml中添加以下配置信息:

propertiesCopy code
# Redis连接信息
spring.redis.host=127.0.0.1
spring.redis.port=6379
spring.redis.password=
spring.redis.database=0

【微服务中间件学习】redis基础及项目使用_第3张图片

  1. 使用RedisTemplate进行操作

在代码中使用RedisTemplate类来进行Redis操作,可以通过@Autowired注解注入该类的实例。RedisTemplate类提供了一系列的操作方法,如get、set、incr等。

下面是一个简单的使用RedisTemplate的示例代码:

javaCopy code
@RestController
public class RedisController {

    @Autowired
    private RedisTemplate redisTemplate;

    @GetMapping("/set")
    public String set() {
        redisTemplate.opsForValue().set("name", "Tom");
        return "success";
    }

    @GetMapping("/get")
    public String get() {
        String name = redisTemplate.opsForValue().get("name");
        return name;
    }

}

在上面的示例中,我们使用RedisTemplate来设置和获取名为“name”的键值对。通过调用opsForValue()方法获取Redis字符串操作类,然后调用set()和get()方法实现相应的操作。

这些是Spring Boot整合Redis的基本步骤,可以根据具体需求进行扩展和优化,实际项目中应用的话是需要对redis做个简单的封装,以方便批量调用。

如下图: 小编平时做的好多项目都在用,大家有啥需求也可以来找小编哟。

【微服务中间件学习】redis基础及项目使用_第4张图片

基本上都会有这么一个封装的工具类,只不过有的公司的封装到底层框架里了,看不到而已。

【微服务中间件学习】redis基础及项目使用_第5张图片

总结

如果你有更优秀的操作,评论区留言,我们一起学习!!!!

你可能感兴趣的:(redis,微服务,中间件)