05 Redis

介绍

关于 jedis 跟 lettuce 的区别:

  • Lettuce 和 Jedis 的定位都是 redis client,所以他们当然可以直接连接 redis server。

  • Jedis 在实现上是直接连接的 redis server,如果在多线程环境下是非线程安全的,这个时候只有使用连接池,为每个 Jedis 实例增加物理连接。

  • Lettuce 的连接是基于 Netty 的,连接实例(StatefulRedisConnection)可以在多个线程间并发访问,因为 StatefulRedisConnection 是线程安全的,所以一个连接实例(StatefulRedisConnection)就可以满足多线程环境下的并发访问,当然这个也是可伸缩的设计,一个连接实例不够的情况也可以按需增加连接实例。

引入

  • pom.xml 引入相关依赖

  • 资源文件对 redis 进行配置

引入依赖:

<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-pool2</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>

配置文件:

配置类:

注解说明:

  • @Configuration 代表这个类是一个配置类

  • @AutoConfigureAfter(RedisAutoConfiguration.class) 是让这个配置类在内置的配置类之后在配置,这样就保证我们的配置类生效,并且不会被覆盖配置。

RedisService

实现类:

Tips

计数增减

错误用法:

正确用法:

模糊查询

参考文章: SpringBoot 之 redis 使用(Lettuce 版本) Springboot 集成 redis 及其工具类

最后更新于

这有帮助吗?