- 博客(64)
- 收藏
- 关注
原创 InfluxDB(五)——分片、压缩与降采样三大核心技术
本文介绍了InfluxDB时序数据库中的三大核心技术:分片、压缩和降采样。分片通过时间切割数据,实现高效删除和查询;压缩利用时序数据特性大幅减少存储空间;降采样通过聚合统计降低数据密度,提升查询性能。三者协同工作可解决生产环境中的三大痛点:存储空间爆炸、查询性能下降和历史数据保留问题。文章详细阐述了各项技术的原理、优势与不足,并提出了"原始桶短保留+聚合桶长保留"的双桶架构标准方案,通过Task实现自动化数据处理流程。最终数据显示,综合运用三项技术可使总存储量减少99.97%,显著提升。
2026-05-11 15:19:49
367
原创 InfluxDB(四)——动态 Field/Tag 实现多类型设备统一接入的完整实践指南
本文探讨了InfluxDB动态Schema的核心价值及其在工业物联网等场景中的应用。通过对比MySQL静态Schema的局限性,展示了InfluxDB动态Tag/Field机制如何解决多厂商设备统一接入的痛点:1. 动态Schema优势:无需预定义结构,支持运行时自动创建字段,实现零停机维护和跨厂商数据统一存储 2. 实现方案:通过Java实体类设计(固定Tag+动态FieldMap)和自动数据类型适配,完成多源异构数据的无缝写入 3. 生产实践要点:需控制Tag基数、避免字段爆炸、优化查询性能,并正确处理
2026-04-30 18:28:58
408
原创 InfluxDB(三)——SpringBoot集成InfluxDB2.x,Flux语言掌握99%
本文介绍了SpringBoot集成InfluxDB 2.x的关键要点和实践经验。主要内容包括:1. 数据导入方式:通过CSV、CLI或Web UI导入时序数据;2. 核心集成步骤:配置Maven依赖、yml参数、工具类封装和模板类实现;3. Flux查询语法:详细解析from-range-filter-pivot-sort-limit的标准查询流程;4. 常见问题解决:包括行转列处理、时间格式转换和查询优化技巧。文章特别强调了pivot()操作在数据转换中的重要性,并提供了完整的代码示例,帮助开发者快速实现
2026-04-27 15:02:05
451
原创 InfluxDB(二)——内存原理核心概念以及与MySQL差异通俗解析
本文深入解析InfluxDB时序数据库的核心原理与使用技巧。首先对比了1.x/2.x(TSM引擎)与3.x(IOx引擎)的写入流程差异,重点介绍了数据导入的三种方式(行协议、CSV、CLI)。通过空气传感器示例,详细阐述了Bucket、Measurement、Tag/Field等核心概念,特别强调了Series(时间线)作为性能关键指标的重要性。 文章着重对比了InfluxDB列式存储与MySQL行式存储的本质区别
2026-04-22 17:45:16
465
原创 通过VS Code使用Claude-Code实现AI编程(免费Token)
本文介绍了Claude-Code这一新型AI编码助手的特点及使用方法。与传统的代码补全工具不同,Claude-Code能够自主规划、执行完整的开发任务。文章详细说明了在VSCode中安装Claude-Code插件的步骤,包括API密钥的配置方法。重点推荐了CCSwitch工具,它能简化多模型API的切换管理,支持一键配置硅基流动等供应商的API密钥。最后演示了通过自然语言指令让Claude-Code自动创建并修改Java文件实现秒表功能的全过程,展现了AI自主完成开发任务的能力。
2026-04-14 16:20:48
1754
1
原创 InfluxDB(一)——一个高效处理数据的时序数据库
InfluxDB是一款专为时序数据优化的开源数据库,适用于物联网、监控系统等高频数据场景。它采用列式存储和专用压缩算法,相比传统关系型数据库具有显著优势:写入性能提升10倍,存储空间节省90%,查询响应降至毫秒级。InfluxDB的核心特点包括极致的写入性能、高效存储压缩、独特的数据模型(Measurement/Tag/Field/Timestamp)以及强大的时间序列分析能力。文章详细介绍了InfluxDB与MySQL的存储差异,并通过Docker方式演示了InfluxDB 2.x版本的安装配置过程,包括
2026-04-02 16:29:39
737
原创 Python——一文读懂Pandas数据分析工具的实用技巧
Pandas是Python中最流行的数据分析库,提供高效灵活的数据结构和分析工具。其核心数据结构包括Series\和DataFrame,支持从CSV、Excel等多种格式读取数据。主要功能包括: 数据清洗:处理缺失值、重复数据等 数据转换:改变数据结构或格式 数据分析:统计分析、聚合分组等 数据可视化:集成Matplotlib绘制图表 Pandas广泛应用于金融、学术等领域,是数据科学工作流中的核心工具。其优势在于代码简洁、处理高效,能显著提升数据分析效率。
2025-08-18 14:10:25
1588
原创 Mac下安装Conda虚拟环境管理器
Conda 是一个开源的包、环境管理器,可以用于在同一个机器上创建不同的虚拟环境,安装不同Python 版本的软件包及其依赖,并能够在不同的虚拟环境之间切换
2025-08-08 18:39:46
3150
原创 Dify案例2:基于Workflow的小红书笔记AI智能体以及AI绘图过程中遇到的问题
本文介绍了基于Dify工作流构建小红书笔记自动生成智能体的实践方案。该系统通过Workflow流程实现端到端自动化:用户输入主题后,LLM节点生成吸引人的标题和正文,HTTP请求调用硅基流动API进行AI绘图(替代已下线的原生插件),代码节点提取图片URL,最终模板节点整合输出包含标题、封面图和正文的完整笔记。文章详细说明了AI绘图接口对接、工作流节点配置等关键实现步骤,展示了Dify在内容创作自动化中的应用价值,为类似场景提供了可复用的技术方案。
2025-07-30 16:29:28
2267
原创 Dify案例1:基于Chatflow旅行、吃饭、新闻、学习的AI智能体
本文介绍了如何在Dify 1.6.0平台整合MCP(模型上下文协议)服务,打造一个多功能AI智能体。通过配置高德地图、Tavily智搜等MCP服务,结合Dify工作流,实现了涵盖出行规划、美食推荐、新闻查询和学习辅助的智能应用。文章详细展示了从MCP服务接入、Dify工作流搭建到实际测试的全过程,并提供了解决接口超时问题的建议。该方案利用MCP协议的标准化优势,有效解决了大语言模型与外部工具的集成问题,为开发者提供了轻量级、安全高效的AI应用开发新思路。
2025-07-22 15:43:27
2031
原创 Dify:在MacOS系统下Dify的本地部署与使用
Dify是一个开源的AI应用开发平台,旨在帮助开发者快速构建基于大语言模型的应用程序。平台提供低代码/无代码开发环境,支持多种模式创建智能体,其中最常用的是Chatflow模式。与LangChain相比,Dify更注重生产级部署,降低了工程复杂度;与Coze相比,Dify提供更灵活的自主控制与数据管理能力。本地部署需要Python3.8+和Docker环境,支持多种主流模型厂商。平台功能包括模型配置、知识库管理(支持本地和外部知识库)、智能体创建
2025-07-17 16:19:11
3431
原创 Dify升级:Dify1.3.1升级最新版1.6.0详细教程以及xxx not exist问题
本文介绍了如何将Dify从v1.3.1升级到v1.6.0版本。操作步骤包括:从GitHub下载v1.6.0包,修改.env文件,迁移旧版volumes数据目录,最后通过docker-compose启动服务。升级完成后,访问本地安装页面即可确认版本更新成功。整个过程涉及文件操作和Docker容器管理,确保数据安全迁移的同时完成版本升级。
2025-07-17 15:42:09
1437
原创 基于MCP和数据库进行数据检索实现方式
RAG(检索增强生成)存在检索失败、生成失败和系统级问题三大局限,尤其在处理结构化数据时效果不佳。MCP+数据库方案通过语义解析、逻辑建模和精准检索三层架构,直接对接结构化数据,实现精准高效的查询。相比RAG,MCP+数据库在查询精度、响应速度、领域适配性和复杂逻辑支持方面更具优势,但需注意避免大数据量查询导致的token消耗激增问题。该方案特别适合需要精确检索结构化数据的场景。
2025-07-16 16:38:56
1031
原创 Mac中Docker Desktop无法使用,可使用OrbStack及OrbStack配置国内镜像加速
因此需要打开OrbStack。便可以成功访问Docker。
2025-06-20 17:47:44
1427
原创 AI工具——Cherry Studio连接配置MCP服务器
CherryStudio近期更新了MCP服务器功能,用户需先安装内置的uv和bun工具。配置时需在魔塔社区注册获取令牌,同步后即可在CherryStudio中选择MCP服务(如"今天吃什么")。新连接的服务器可通过同步实现增量添加,方便在对话中直接调用这些服务。该功能简化了AI服务的集成流程,提升了使用体验
2025-05-27 17:40:55
3336
原创 Mac安装MongoDB数据库以及MongoDB Compass可视化连接工具
不过,每次开机都要输入一长串的命令启动 mongodb是十分麻烦的,我们可以使用配置文件的方式来启动。安装完成后,我们可以通过MongoDB Compass客户端链接本地的MongoDB Server。目录,可将 MongoDB 的可执行文件路径添加到环境变量中。创建文件夹data和log目录,用于进行存储MongdDB的数据和目录。其中echola为当前的用户名,自行修改为系统用户名。为避免每次启动 MongoDB 都需要切换到。验证是否成功,查看一下mongodb的版本号。出现以下提示则启动成功。
2025-05-27 11:34:11
2542
原创 Streamlit性能优化:缓存与状态管理实战
Streamlit 是一个开源的 Python 库,专为快速构建数据科学和机器学习 Web 应用而设计。它无需前端开发经验,通过简单 API 即可创建交互式界面,适合原型开发和数据展示。通过缓存机制减少重复计算,结合 st.session_state管理会话状态,Streamlit 可以高效处理复杂交互场景,同时保持代码简洁和用户体验流畅。这种优化策略尤其适合需要频繁交互、状态保持或耗时操作的 Web 应用开发。
2025-04-08 15:19:03
2039
原创 LangChain 结构化输出:用 Pydantic + PydanticOutputParser 驯服 LLM 的“自由发挥”
在大型语言模型(LLM)应用中,非结构化输出是开发者面临的核心挑战:自由文本难以被程序直接处理,且易导致数据缺失或格式错误。通过代码实例解析,文章演示了两者如何协作:Pydantic 确保数据质量,PydanticOutputParser 打通从文本到模型的“最后一公里”。这种组合为 LLM 应用提供了端到端的数据管理方案,显著提升开发效率与系统鲁棒性,是构建智能管道的必备工具
2025-03-28 15:39:39
2071
原创 通过LangChain调用硅基流动DeepSeek API的教程
本文基于Conda的AI开发环境搭建与DeepSeek大模型调用全流程。通过创建Python 3.10虚拟环境实现项目依赖隔离,借助清华镜像源解决国内开发者安装瓶颈,成功集成LangChain框架与OpenAI兼容接口
2025-03-21 16:03:22
1537
原创 AI工具——Cherry Studio,搭建满血DeepSeek R1的AI对话客户端【硅基流动DeepSeek API】
本文介绍了如何利用 Cherry Studio 平台和 DeepSeek R1 模型搭建 API 客户端,并建立使用个人专属AI知识库
2025-02-07 12:04:39
9181
原创 ELK日志收集
目前,各个微服务系统的日志都保存在各自指定的目录中,如果这些微服务部署在不同的服务器上,那么日志文件也是分散在各自的服务器上。分散的日志不利于我们快速通过日志定位问题,我们可以借助ELK来收集各个微服务系统的日志并集中展示。ELK即Elasticsearch、Logstash和Kibana首字母缩写。Elasticsearch用于存储日志信息,Logstash用于收集日志,Kibana用于图形化展示。
2024-10-24 18:11:42
1164
原创 Java8中Stream、Function、Opotions特性使用案例
所有数据都基于类,其中包含了 userId、userName、course、score 等字段,下面是如何使用Options、 Stream 、Function来处理 UserInfo 对象列表的一些示例所有数据都基于类,其中包含了 userId、userName、course、score 等字段,下面是如何使用 Java Stream API 来处理 UserInfo 对象列表的一些示例。
2024-10-24 17:41:06
1101
原创 ConcurrentHashMap图文源码解析
同HashMap一样,Segment包含一个HashEntry数组,数组中的每一个HashEntry既是一个键值对,也是一个链表的头节点。Size方法的目的是统计ConcurrentHashMap的总元素数量, 自然需要把各个Segment内部的元素数量汇总起来。数组中的每一个Entry元素,又是一个链表的头节点。但是,如果在统计Segment元素数量的过程中,已统计过的Segment瞬间插入新的元素,这时候该怎么办呢?Segment的写入是需要上锁的,因此对同一Segment的并发写入会被阻塞。
2024-09-11 16:28:51
1332
原创 MySQL索引以及创建索引的注意事项
二叉查找树(BST):解决了排序的基本问题,但是由于无法保证平衡,可能退化为链表;平衡二叉树(AVL):通过旋转解决了平衡的问题,但是旋转操作效率太低;红黑树:通过舍弃严格的平衡和引入红黑节点,解决了AVL旋转效率过低的问题,但是在磁盘等场景下,树仍然太高,IO次数太多;B树:通过将二叉树改为多路平衡查找树,解决了树过高的问题;B+树:在B树的基础上,将非叶节点改造为不存储数据的纯索引节点,进一步降低了树的高度;此外将叶节点使用指针连接成链表,范围查询更加高效。
2024-09-10 17:11:05
1901
原创 ELK在Linux上部署教程
以为是 /usr/share/elasticsearch/data/nodes目录权限不够,其实是宿主机上的/echola/elasticsearch/data目录权限不足造成。操作系统默认的mmap计数太低可能导致内存不足,我们可以使用下面这条命令来增加内存。在该路径下创建logstash-echola.conf配置文件(没有vim命令,可以使用。然后访问IP地址:http://192.168.2.203:5601/切换到/bin目录,安装json_lines插件,然后退出。在ellk目录下创建。
2024-09-05 17:41:51
1098
原创 EasyExcel单行或多行表头的简单Excel导出
一般Excel不需要复杂的数据格式导出,只是在表头上略有区别,下面展示单行和多行表头Excel导出
2024-09-04 11:38:27
3448
原创 HashMap图文源码解析
反观长度16或者其他2的幂,Length-1的值是所有二进制位全为1,这种情况下,index的结果等同于HashCode后几位的值。可以为null,但是不能为可变对象,如果是可变对象,对象中的属性改变,那么Hash也要进行相应的改变,导致下次五大找到已存在的Map中的数据。但是,因为HashMap的长度是有限的,当插入的Entry越来越多时,再完美的Hash函数也难免会出现index冲突的情况。第二步:我们查看的是Next节点Entry1,Entry1的Key是apple,正是我们要找的结果。
2024-08-30 16:28:47
824
原创 SQL慢查询优化方式
MYSQL优化一般从SQL语句开始优化,再分析索引,即使有了良好的索引,糟糕的查询语句也可能导致性能问题优化查询语句可以帮助数据库更有效地利用现有的资源,减少不必要的开销。
2024-08-28 18:18:01
5634
1
原创 Java使用EasyExcel导出图片(原比例大小)到Excel中
为了方便客户在业务报告时,可以使用数据分析图片,从而更清晰准确地展示数据趋势,因此需要将图片不进行压缩,原比例尺寸大小导出
2024-08-26 16:23:34
3132
原创 Spring系列之Spring Cache缓存注解的使用
Spring Cache 是 Spring Framework 提供的一个用于操作缓存的抽象层,它简化了在 Spring 应用程序中集成和使用缓存的过程Spring Cache 不直接实现任何缓存技术,而是定义了一套标准接口和注解,使得开发人员可以轻松地切换底层缓存实现,而无需修改业务逻辑代码是不是有点似懂非懂,那么使用一个🌰来了解@Service@Autowire@Autowired//查询用户if(user!= null) {
2024-08-23 12:32:19
2615
原创 Java中自定义注解的使用
以【记录操作日志】为例,一般在开发中为了记录用户操作,当系统出现问题时,可以追溯日志所提供详细的错误信息,帮助开发者快速定位问题的原因最简单的方法:在每个方法中增加日志信息打印代码,来记录操作日志,但是这样重复代码也很多,也不易扩展,而且易出错使用自定义注解就会方便很多,减少不必要的重复代码,减少非业务代码的侵入性,如果需要扩展操作用户的信息以及IP就会很方便,易于扩展和维护@interface在需要使用自定义注解的地方使用该注解@LogOperation("新增")// 方法实现。
2024-08-22 14:33:27
1804
原创 Redis持久化(RDB、AOF、混合持久化)
Redis 需要持久化主要是为了保证数据的安全性和持久性,防止数据丢失Redis 持久化功能默认是开启的,这样做的目的也是为了保证程序的稳定性,防止缓存雪崩、缓存击穿等以及保证数据不丢失。若要手动关闭 Redis 持久化,需要将 RDB、AOF 和混合持久化全部关闭才行,并且关闭之后需要重启 Redis 服务才能生效。
2024-08-21 14:59:54
2875
原创 数据结构与算法——前缀树
(Trie,有时也称为字典树或关键词树)是一种有序树结构,用于存储具有相同前缀的字符串集合。它非常适合,并且可以显著提高查询速度。
2024-08-19 11:17:39
1559
原创 Redis中Big Key该如何解决?
Redis的Big Key会给Redis带来的意想不到的危害,需要监控、及时发现和处理Big Key。在开发过程中需要选用适当的Redis数据结构开发业务,尽量避免big key。
2024-08-16 18:21:34
2568
原创 MySQL查询分组内最新的第一条数据
由于MySQL 5不支持窗口函数,因此不能使用PARTITION()、ROW_NUMBER(),获取每个班级中最新注册的学号人员信息也就是从 user_info 学生表中获取每个 class_id 班级的最新一条记录。
2024-08-15 17:57:52
909
原创 Java并发编程(八)——异步编程之CompletableFuture
CompletableFuture是一种用于处理异步任务和并发编程的强大工具类,支持异步任务的创建、组合、变换和错误处理,提供了丰富的 API 来简化并发编程,提供了丰富的链式调用方式,支持非阻塞的异步编程模式。
2024-08-14 17:19:33
2276
原创 Java并发编程(七)—ThreadLocal的原理及应用详解
ThreadLocal 是 Java 中的一种特殊机制,它为每个线程提供了一个独立的变量副本,主要用于解决多线程环境下的线程安全问题通过 ThreadLocal,每个线程可以拥有自己的变量副本,从而避免了线程间的数据竞争和同步问题。
2024-08-12 18:21:44
1849
Java面试真题(136页)
2024-07-23
Java大厂面试真题以及面试流程资料(237页)
2024-07-23
高项信息系统相关管理师超级全面的备考资料2024版
2024-07-23
Java超级详细的面试文档(335页)
2024-07-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅