现状:spring boot项目,使用redisson将spring session存入redis中,过期时间为默认的30分钟。 需求:延长session过期时间 一开始我认为只修改yml文件中的server.servlet.session.timeout=60m就行了,但是发现redis中的过期时间还是1800s。 后来想到既然session是redis管理是不是需要修改redis相关的配置,然后查到了@EnableRedissonHttpSession注解,使用这个注解后spring boo
2024-11-27场景``` 1. 事务方法不是public修饰的,将会导致事务失效 2. 事务方法使用了final或static修饰,将会导致事务失效 3. 方法内部之间调用,没有通过代理对象调用 4. 未被spring容器管理,方法不会产生事务 5. 多线程调用dao方法 6. 表不支持事务 7. 未开启事务 8. 使用了错误的事务传播行为 9. 自己吞了异常 10. 抛出了编译时异常 11. 自定义了指定异常类(rollbackFor属性)回滚,但实际发生的异常类
2024-11-271. MySql+Memcached架构的问题 实际MySQL是适合进行海量数据存储的,通过Memcached将热点数据加载到cache,加速访问,很多公司都曾经使用过这样的架构,但随着业务数据量的不断增加,和访问量的持续增长,我们遇到了很多问题: 1.MySQL需要不断进行拆库拆表,Memcached也需不断跟着扩容,扩容和维护工作占据大量开发时间。 2.Memcached与MySQL数据库数据一致性问题。 3.Memcached数据命中率低或down机,大量访问直
2024-11-27Ollama 概述 Ollama 是一个快速运行 LLM(Large Language Models,大语言模型)的简便工具。通过 Ollama,用户无需复杂的环境配置,即可轻松与大语言模型对话互动。 本文将解析 Ollama 的整体架构,并详细讲解用户在与 Ollama 进行对话时的具体处理流程。 Ollama 整体架构 Ollama 使用了经典的 CS(Client-Server)架构,其中: Client 通过命令行的方式与用户交互。Server 可以通过命令行、桌面应用(基于 Elec
2024-11-27LRU from collections import OrderedDict class LRUCache: def __init__(self, capacity: int): self.cache = OrderedDict() self.capacity = capacity def get(self, key: int) -> int: if key not in self.cache: ret
2024-11-27用angularjs的过程中发现,每次打开页面,请求后端的接口都请求了两次 如下图可以看到, http://192.168.1.109:8080/zdh/api/v1/goods/54 这个页面loading了两次 去看后端的请求日志,也是请求了两次 后端数据怎么会请求两次那? 一开始以为是跨域请求导致的 后来发现,点击事件中的请求的都是一次 唯独打开页面时默认加载的后端请求是两次。 于是想到在controller中打个log看看,发现: 是因为这个controller执行了两次,才导
2024-11-27@Lazy注解的作用 在Spring框架中,@Lazy注解的主要作用是延迟Bean的初始化。也就是说,当一个Bean被@Lazy注解标记后,Spring容器在启动时不会立即实例化这个Bean,而是等到第一次使用到它的时候才会进行初始化。 为什么要使用@Lazy注解? 提升启动速度: 对于一些不太常用的Bean,延迟初始化可以减少Spring容器启动时需要初始化的Bean数量,从而提升应用程序的启动速度。 解决循环依赖: 在存在循环依赖的情况下,@Lazy注解可以帮助我们打破循环依赖。当两个B
2024-11-27与普通的文本聊天不同,语音视频聊天使用WebRTC框架实现点对点的连接(即:浏览器之间的连接,不经过服务器中转) 因此工作量在前端,后端只需要对前端的数据包做转接即可(在最后加上一个兜底的Handler,识别合法的对象进行转发) 详细的思路可以阅读这篇文章: 文章中有一个知乎文章的链接,不了解WebRTC的同学可以先阅读一下: 对于目前项目的改造,只需要添加一个新的Handler: ElseMessageHandler
2024-11-27前言 详细视频演示 请联系我获取更详细的演示视频 具体实现截图 技术栈 后端框架SpringBoot 配置和约定大于配置的方式,帮助开发者快速构建基于 Spring 的应用程序。Spring Boot 使得开发者可以更加专注于业务逻辑的实现,而无需关注繁琐的配置和依赖管理。以下是 Spring Boot 的一些主要特点: 简化配置: Spring Boot 提供了大量的默认配置,开发者无需手动配置,只需按照约定的方式命名组件和类,即可自动装配各种功能。 内嵌容器: Spring B
2024-11-27Client import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.Socket; public class ClientBio { //相当于自定义协议格式,与客户端协商好 private static String USER_CONTENT_SPILIT = "#@#"; public static
2024-11-27