- 博客(7)
- 收藏
- 关注
原创 Spring AI 大模型 Ollama
ghcr.io/open-webui/open-webui:main:这是你要运行的 Docker镜像的完整名称,ghcrio是 GitHub Container Registry 的地址,openwebui/open-webui 是镜像的仓库和名称,main是标签,通常表示该镜像的最新或主分支版本。这是一个 docker run 命令,用于启动一个新的 Docker 容器,下面是这个命令各个部分的解释:docker run:这是 Docker 的命令,用于从指定的镜像启动一个新的容器;
2024-12-22 11:09:49
1148
原创 Spring AI应用开发流程
在本文中,将深入探讨如何利用 Spring 框架结合当下最前沿的人工智能技术,实现智能化的企业级应用开发。随着人工智能技术的快速发展,越来越多的企业开始探索将 AI 集成到现有的业务流程中,以提高效率、增强用户体验以及创造新的商业模式。Spring 框架作为 Java 世界中最受欢迎的企业级开发框架之一,提供了丰富的工具和库,支持开发人员构建复杂、高效且可扩展的应用程序。
2024-12-21 17:30:50
690
原创 Redis缓存技术(三)
Lua脚本解决多条命令原子性问题:Redis与Lua预防库存超卖,Lua可以将redis的多个操作合成⼀个脚本,然后整体执行,在脚本的执行中,不会出现资源竞争的情况,即保证了操作的原子性。Redis分布式锁实现思路:由于redis是单线程的,使用命令之后,只能有⼀个客户端对某一个key设置值,在没有过期或删除key的时候,其他客户端是不能设置这个值的。这样的话,使用的不是乐观锁,而是行锁中的排他锁解决超卖。虽然乐观锁解决了超卖问题,但是存在成功率降低的问题。超卖问题属于多线程安全问题,解决方案是。
2024-12-20 20:38:31
1686
原创 Redis缓存技术(二)
概念:缓存击穿问题也叫热点Key问题,就是一个被高并发访问并且缓存重建业务较复杂的key突然失效了,无数的请求访问会在瞬间给数据库带来巨大的冲击。根据id查询商铺的业务,基于逻辑过期方式来解决缓存击穿问题。根据id查询商铺的业务,基于互斥锁方式来解决缓存击穿问题。两种解决方案:(1)互斥锁;
2024-12-19 21:05:36
271
原创 Redis缓存技术(一)
在⼀开始都是 0,当⼀个 key 来了之后经过 3 次 hash 计算,模于数组⻓度找到数据的下标然后把数组中原来的 0 改为 1,这样的话,三个数组的位置就能标明⼀个 key 的存在。当然是有缺点的,布隆过滤器有可能会产生⼀定的误判,⼀般可以设置这个误判率,⼤概不会超过 5%,其实这个误判是必然存在的,要不就得增加数组的长度,其实已经算是很划分了,5%以内的误判 率⼀般的项目也能接受,不⾄于高并发下压倒数据库。删除缓存:更新数据库时让缓存失效,查询时再更新缓存(优先)先操作数据库,再删除缓存(优先)
2024-12-18 19:35:56
643
原创 苍穹外卖模块代码涉及的技术问题总结(二)
解决问题:通过定时任务每分钟检查一次是否存在支付超时订单(下单后超过15分钟仍未支付则判定为支付超时订单),如果存在则修改订单状态为“已取消”Apache ECharts:是一款基于Javascript 的数据可视化图表库,提供直观,生动,可交互,可个性化定制的数据可视化图表。解决问题:通过定时任务每天凌晨1点检查一次是否存在“派送中”的订单,如果存在则修改订单状态为“已完成”问题一:支付超时的订单如何处理,下单后未支付,订单一直处于"待支付"状态。-type 为消息类型,1为来单提醒 2为客户催单。
2024-12-18 09:38:39
1667
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅
2