编辑
2025-01-17
学习记录
00

简介

Redisson是一个用于Redis的Java客户端,它提供了许多超越标准Redis功能的高级特性。Redisson旨在简化分布式环境中对Redis的操作,使得开发者能够更加专注于业务逻辑而不是底层细节。以下是Redisson的一些关键特性和简介:

主要特性

  • 丰富的集合类型:Redisson提供了对多种数据结构的支持,包括映射(Map)、列表(List)、集合(Set)、有序集合(SortedSet)等,以及它们的分布式版本。
  • 分布式对象和服务:除了基本的数据结构外,Redisson还支持分布式锁(Distributed Locks)、信号量(Semaphores)、闭锁(CountDownLatch)等同步工具,有助于实现复杂的分布式系统架构。
  • 异步和响应式编程模型:Redisson支持基于Netty的完全非阻塞异步执行模式和Reactive Streams规范,允许以响应式的方式进行编程。
  • 集群和主从支持:Redisson可以无缝地与Redis的单机、主从、哨兵(sentinel)及集群(cluster)配置协同工作。
  • 灵活的序列化方式:支持JDK序列化、JSON、Avro、Amazon Ion、Kryo、FST、 Smile、LZ4、Snappy等多种序列化方法,方便用户根据需求选择合适的序列化策略。
  • Spring框架集成:Redisson与Spring框架有很好的集成,可以作为Spring缓存提供者使用,并支持Spring Boot Starter自动配置。
  • Tomcat会话管理器:Redisson提供了Tomcat Web Session Manager,可以在多个Tomcat实例之间共享HTTP会话。
  • 易于使用:通过提供直观且一致的API,Redisson大大降低了开发人员在分布式环境中操作Redis的复杂度。

总之,Redisson为Java应用提供了一个强大的工具包来与Redis进行交互,无论是简单的键值存储还是复杂的分布式应用程序,都可以从中受益。它不仅提升了Redis的功能,同时也极大地简化了其使用难度。

编辑
2025-01-08
学习记录
00

HttpClient类简介

HttpClient 类是 Java Development Kit (JDK) 自 JDK 11 起引入的一个新的 HTTP 客户端 API,它旨在简化和改进发出 HTTP 请求以及处理响应的方式。这个 API 提供了对同步和异步非阻塞请求的支持,并且内置了对 HTTP/2 和 WebSocket 的支持。以下是关于 HttpClient 类的一些关键点:

主要特点

HTTP/1.1 和 HTTP/2 支持:

HttpClient 支持 HTTP/1.1 和 HTTP/2 协议。它能够自动选择合适的版本来与服务器通信。

WebSocket 支持:

除了传统的 HTTP 请求,HttpClient 还提供了对 WebSocket 协议的支持,允许建立持久连接并进行双向通信。

同步和异步操作:

你可以使用同步方法(如 send())来发送请求并等待响应,也可以使用异步方法(如 sendAsync()),这些方法返回一个 CompletableFuture<HttpResponse>,可以在完成时执行回调或链式调用其他操作。

流式传输:

HttpClient 支持流式传输大文件或数据,这对于上传或下载大量数据特别有用。

请求体发布器(BodyPublisher):

对于有请求体的请求(例如 POST 或 PUT),可以使用 HttpRequest.BodyPublishers 来创建 BodyPublisher 实例,这使得提供请求体内容变得简单。

响应处理器(BodyHandler 和 BodySubscriber):

可以指定如何处理响应体,例如将其作为字符串、字节缓冲区或流来处理。

SSL/TLS 和代理支持:

内置支持 SSL/TLS 加密和通过 HTTP/HTTPS 代理发送请求。

重定向和认证:

内置支持自动处理 HTTP 重定向和基本认证。

可配置性和灵活性:

HttpClient 是高度可配置的,可以通过 HttpClient.Builder 设置各种选项,如超时时间、连接池大小等。

编辑
2025-01-08
学习记录
00
sh
curl -o /dev/null -s -w "Connect: %{time_connect} TTFB: %{time_starttransfer} Total time: %{time_total}\n" https://hub.rat.dev
编辑
2025-01-06
遇到的问题
00

说明

配置logback-spring.xml后,项目启动时会输出logback的一些自身信息

修改

<!-- 禁止logback启动时输出其内部状态 --> <statusListener class="ch.qos.logback.core.status.NopStatusListener" />

将上面的内容放在 标签内的最顶部,以确保它是最先被处理的部分之一。

编辑
2025-01-01
项目分享
00

简介

Docsify 是一款轻量级、易用的文档网站生成工具

主要特点

  • 纯前端:Docsify 是一款纯前端的工具,不需要复杂的后端配置,只需简单的配置和几行 Markdown 格式的文档内容,就可以快速生成漂亮的文档网站。
  • 单页应用:Docsify 采用单页应用的方式呈现文档内容,用户可以通过导航菜单或滚动浏览器来浏览文档,具有良好的交互体验。
  • 自动侧边栏和导航:Docsify 可以根据 Markdown 文件的目录结构自动生成侧边栏和导航,极大地简化了文档的管理和展示。
  • 丰富的插件支持:Docsify 提供了丰富的插件支持,可以扩展其功能,例如支持搜索、支持主题定制、支持代码高亮等。
  • 无需静态构建:与 GitBook 不同,Docsify 不会生成静态的 .html 文件,所有转换工作都是在运行时进行,这使得文档的更新和部署更加灵活。
  • 轻量级:小巧的体积意味着更快的加载速度,特别是在网络条件不佳的情况下。
  • SEO 友好:虽然 Docsify 是单页应用,但它提供了 SEO 支持,帮助你的文档更好地被搜索引擎抓取。
  • 多语言支持:对于国际化项目,Docsify 提供了良好的多语言支持。
  • 兼容性:兼容 IE11,确保更多用户能够使用。

应用场景

  • 项目文档:开源项目的 API 文档、开发者指南和用户手册非常适合用 Docsify 来构建。
  • 知识库:企业内部的知识库系统可以借助 Docsify 快速搭建,方便员工查阅。
  • 个人博客:对于偏好 Markdown 编辑且不需要复杂功能的博客作者来说,Docsify 是个不错的选择。
  • 教程与学习资源:教育领域的课程资料、学习指南可以用 Docsify 进行结构化呈现。

官方资源