大模型应用开发2-SpringAI实战
本文介绍了SpringAI框架如何整合大语言模型,并详细讲解了应用开发的关键技术。主要内容包括: 核心功能 支持OpenAI、Ollama等主流平台 封装对话模型、向量计算等功能 提供同步/异步调用方式 关键技术实现 会话记忆管理(内存/Redis) 工具调用(Function Calling) 知识增强(RAG)架构 多模态交互(文本/图像) 典型应用场景 文献阅读助手实现 智能客服系统 文档知识库问答 开发实践 配置向量数据库 处理PDF文档 实现工具调用 兼容阿里云平台 该框架显著简化了大模型应用开发
大模型应用开发3-LangChain4j实战
本文介绍了LangChain4j框架的使用方法,主要包括以下内容:1. 基础配置:创建SpringBoot项目并配置OpenAI聊天模型;2. AIServices工具类:简化模型调用,支持流式和阻塞式两种调用方式;3. 会话记忆功能:实现多轮对话记忆,支持会话隔离和Redis持久化存储;4. RAG检索增强:通过向量数据库存储和检索专业领域知识,提升大模型回答质量;5. Tools工具:通过Function Calling机制实现业务功能调用。文章详细讲解了每个功能的实现步骤,包括代码示例和配置方法,帮助
《面试官:说说电商库存扣减如何防超卖?分布式锁的三种实现》
这是一道电商高频面试题,聚焦库存防超卖与分布式锁实战。提供可直接背诵的“三段式”方案(Redis Lua预扣 + MQ异步 + DB乐观锁),详解Redis/ZK/DB三种锁原理、源码级实现、避坑指南及大厂选型逻辑,兼顾技术深度与落地能力。(239字)
手撕Redis底层3-持久化机制与集群化方案
Redis持久化与集群架构详解 摘要:本文系统介绍了Redis的高可用架构方案。首先讲解了RDB和AOF两种持久化机制的特点及实现原理,RDB通过快照实现数据备份,AOF记录操作日志保证数据安全。其次详细阐述了主从集群的搭建过程、全量同步与增量同步机制,以及哨兵监控系统的故障转移流程。最后分析了分片集群架构,包括散列插槽的数据分布策略、集群扩容方法和故障处理机制。通过三种集群方案的对比,展示了Redis如何实现高并发、高可用及海量数据存储。文章还提供了Spring Boot集成Redis集群的实践指导,包括
手撕Redis底层2-网络模型深度剖析
本文主要介绍了Linux系统的用户态与内核态空间划分、IO网络模型及Redis网络模型实现。首先,Linux将进程寻址空间分为用户空间和内核空间,通过权限隔离实现安全访问。其次,详细分析了阻塞IO、非阻塞IO、IO多路复用(select/poll/epoll)等网络模型的特点及性能差异,其中epoll模式效率最高。最后,重点解析了Redis的单线程网络模型实现,包括其选择单线程的原因、基于epoll的事件处理机制以及内存回收策略(过期淘汰和内存淘汰)。Redis通过IO多路复用技术实现高性能,并采用惰性删除
手撕分布式锁
本文系统介绍了Redis分布式锁的实现方案。首先阐述了分布式锁的基本概念,包括互斥性、可见性、高可用等核心特性。然后详细讲解了基于Redis的两种实现方式:1)使用SETNX命令实现简单锁,并通过Lua脚本解决原子性问题;2)Redission框架提供的可重入锁、锁续期(WatchDog)和MultiLock多节点锁机制。文章重点分析了锁误删、原子性、主从同步等常见问题及解决方案,并提供了完整的Java代码示例。最后对比了不同方案的优缺点,建议生产环境优先使用Redission框架,其完善的锁管理机制能有效
Ubantu下的几个常用部署
在Ubuntu系统中设置本地Redis的密码涉及几个步骤,主要是编辑Redis的配置文件,并重启Redis服务以应用更改。4、在宿主机连接redis 根据以上步骤安装启动redis后,默认只能在虚拟机内访问redis,如果在其他机器上访问,需要修改配置文件。在终端输入redis-cli,会进入到redis的命令行模式,这时候就可以愉快地使用redis的各种命令了。默认情况下,redis的配置文件在/etc/redis/redis.conf,打开这个文件,将下面内容修改。默认情况下,这一行是被注释掉的。