当前位置:网站首页 > Java教程 > 正文

java整合redis教程



是一款开源的,使用 C 开发的高性能内存 Key/Value 数据库,支持 String、Set、Hash、List、Stream 等等数据类型。它被广泛用于缓存、消息队列、实时分析、计数器和排行榜等场景。基本上是当代应用中必不可少的软件!

Spring Boot 对 Redis 提供了开箱即用的组件:。通过这个 starter,我们只需要几行简单的配置就可以快速地在 Spring Boot 中整合、使用 Redis。

除了 外,还添加了 依赖,是因为我们需要使用到连接池。

只需要在 中配置如下常用的基本属性即可:

注意,如果你使用的是 spring boot 2.x,上述配置的命名空间应该是 而不是

更多完整的配置属性,请参阅 官方文档。

Spring Data Redis 默认使用 作为 Redis 客户端。官方还对 Jedis 提供了支持,你可以根据你的喜好进行选择。

要替换为 Jedis,首先需要从 排除 ,并且添加 依赖:

然后修改配置文件,把 配置替换为 配置即可:

得益于 Spring Data Redis 提供的抽象、封装。在修改了底层客户端后,我们基本上不用修改任何业务代码。

推荐在项目中使用 客户端,因为它是基于 Netty 开发,支持非阻塞式 IO,性能会更好。

配置就绪后, 已经可用,你可以在任何地方注入、使用:

对于 更完整的方法列表,你可以参阅其 java doc。

如果基本的 不能满足你的需求,你也可以自定义 实现。

例如,我们想要自定义一个 ,用于把任意 Java 对象序列化为 json 数据存储到 Redis,并且也能够把 Redis 中的 json 数据反序列化为任意 Java 对象。

如下:

首先,继承 ,泛型 表示 Redis Key 类型,一般都是 ,泛型 表示 Redis Value 类型,既然我们需要的是一个通用的 JSON Template,所以设置为 ,Value 值可以是任意对象。

在构造函数中注入 设置到父类,这是必须的

然后创建 实例,它是基于 Jackson 的 实现,用于任意 Java 对象和 JSON 字符串之间的序列化/反序列化。使用该实例作为普通 Value 和 Hash Value 的序列化/反序列化器。注意,因为序列化的对象可能包含了 类型的日期字段,如:、 以及 ,所以需要注册 。

创建测试类进行测试。如下:

我们创建了一个 对象,存储了 2 个 和一个 字段。然后使用 把它存储为普通 Value 和 Hash Value。

存储成功后,再进行读取,反序列化为原来的 对象。

运行测试,执行日志如下:

如你所见,序列化为 JSON、反序列化为对象都没问题。

版权声明


相关文章:

  • java eclipse如何安装教程2025-03-02 13:34:06
  • 游戏java教程2025-03-02 13:34:06
  • java病毒编写教程2025-03-02 13:34:06
  • java编程并发教程2025-03-02 13:34:06
  • 疯狂java包装教程2025-03-02 13:34:06
  • 买java版教程2025-03-02 13:34:06
  • java247教程2025-03-02 13:34:06
  • 菜鸟教程java代码2025-03-02 13:34:06
  • 心电算法java教程2025-03-02 13:34:06
  • java怎么进阶教程2025-03-02 13:34:06