基于Spring Cache实现Caffeine、jimDB多级缓存实战

在早期参与涅槃氛围标签中台项目中,前台要求接口性能999要求50ms以下,通过设计Caffeine、ehcache堆外缓存、jimDB三级缓存,利用内存、堆外、jimDB缓存不同的特性提升接口性能, 内存缓存采用Caffeine缓存,利用W-TinyLFU算法获得更高的内存命中率;同时利用堆外缓存降低内存缓存大小,减少GC频率,同时也减少了网络IO带来的性能消耗;利用JimDB提升接口高可用、高并

【AIGC】只要10秒,AI生成IP海报,解放双手!!!

众所周知,各大厂目前都在AIGC的领域探索实践,也有非常多的外部设计师制作了大量的AIGC相关授课,很多同学因为不清楚具体能得到什么价值或者收获而停止了脚步。今天我来为大家分享一下经过实际探索且落地的Stable diffusion的IP海报生成流程,内容很干请上车坐稳

商品推荐系统浅析

本文主要做推荐系统浅析,主要介绍推荐系统的定义,推荐系统的基础框架,简单介绍设计推荐的相关方法以及架构。适用于部分对推荐系统感兴趣的同学以及有相关基础的同学,本人水平有限,欢迎大家指正。

架构师日记-软件工程里的组织文化

本文是京东到家自动化测试体系建设过程中的一些回顾和总结,删减了部分系统设计与实践的章节,保留了组织与文化相关的内容,整理成文,以飨读者。

redis分布式锁,setnx+lua脚本的java实现

本文是基于redis缓存实现分布式锁,其中使用了setnx命令加锁,expire命令设置过期时间并lua脚本保证事务一致性。Java实现部分基于JIMDB提供的接口。

疯一样的向自己发问 - 剖析lsm 索引原理

疯一样的向自己发问 - 剖析lsm 索引原理 lsm简析 lsm 更像是一种设计索引的思想。它把数据分为两个部分,一部分放在内存里,一部分是存放在磁盘上,内存里面的数据检索方式可以利用红黑树,跳表这种时间复杂度低的数据结构进行检索。 而当内存数据到达一定阀值的时候则会将数据同步到一个新的磁盘文件上。

8.邮件发送功能

这里想补充下上个文章,感觉有点不太行。因为每次设计新的表结构就要去更新一下,所以,干脆随着我要做的功能去展示我的表结构设计,最终再把所有的表结构包括sql语句统计出来,感觉这样更新会方便很多~ 这个文章主要是发送邮件的功能。之前提过,我不是一下子把后端全部完成,然后再一下子搞定后端。所以我前后端是要

【好玩】如何在github主页放一条贪吃蛇

本文通过github主页加入提交记录贪吃蛇为引,拓展分析了如何在github设置主页,并将提交记录生成贪吃蛇动画,以及github中action使用及如何运行workflow等。

手动实现Transformer

Transformer和BERT可谓是LLM的基础模型,彻底搞懂极其必要。Transformer最初设想是作为文本翻译模型使用的,而BERT模型构建使用了Transformer的部分组件,如果理解了Transformer,则能很轻松地理解BERT。 一.Transformer模型架构 1.编码器 (

基于DevExpress的GridControl实现的一些界面处理功能

DevExpress的GridControl控件能够提供很多强大的操作,其视图GridView能够通过各种设置,呈现出多种复杂的界面效果,本篇随笔探讨一些常见的GridControl控件及其GridView的视图操作处理,以便在大家也需要的时候作为一个参考的代码。其中设计一些常见的操作,如合并单元格、汇总统计、复制粘贴行、导入数据处理、导出Excel、导出PDF等、打印GridView视图、内置插

创建型:构造器模式

简介 构造器模式,也被称为建造者、生成器模式,是设计模式中比较容易理解的模式之一。 定义:将一个对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 定义不太容易理解,简单的说就是构造器模式中的对象的属性是通过一个构造器来设置的,最后返回一个不同属性的对象。 在js中我们在创建对象时可以

用Rust手把手编写一个Proxy(代理), 动工

用Rust手把手编写一个Proxy(代理), 动工 项目 ++wmproxy++ gitee 传送门 github 传送门 设计流程图 flowchart LR A[客户端] -->|Http| B[代理端] --> C[代理服务端] --> D[服务端] B -->|直达| D A -->|Htt

数据可视化分析之新技能——魔数图

数据可视化分析之新技能——魔数图 大家在使用数据可视化工具进行数据设计的时候,有没有遇到过这些设计场景:部门人员的履历细信息、工厂各个产线的生产状态和生产信息、公司各个部门的KPI信息……这些数据都有一个共同的特点:数据结构相同,但是内容各有不同;布局相同,但展示的样式相同。在传统场景中我们要实现这

华为云API Arts:用“1+1+5”的模式,为你带来API-First体验

摘要:华为云API Arts是API全生命周期一体化协作平台,支持开发者一站式高效实现API设计、API开发、API测试、API托管、API运维、API变现,助力企业数字化转型。 本文分享自华为云社区《API+DevOps:华为云API Arts一体化平台,端到端呵护您的API》,作者:华为云Paa

带你掌握如何查看并读懂昇腾平台的应用日志

摘要:本文介绍了昇腾平台日志分类、日志级别设置、日志内容格式,以及如何获取日志文件的方法。 本文分享自华为云社区《如何查看并读懂昇腾平台的应用日志》,作者:昇腾CANN。 当您完成训练/推理工程开发后,将工程放到昇腾平台运行,以调试工程是否正常运行,此时,可能会出现各种各样、五花八门的异常状况。 当

解锁Spring组件扫描的新视角

文章详细讲解了Spring包扫描的各种特性和策略,包括基础的包扫描路径设置,按注解过滤,正则表达式过滤,Assignable类型过滤,以及自定义过滤等多种过滤策略。

Docker中部署mongodb

要使用Docker创建MongoDB容器,并将存储目录挂载到宿主机上,以及映射到宿主机的端口1023,并设置访问密码,请按照以下步骤进行操作: **步骤 1:创建存储目录** 在宿主机上创建存储目录`/docker_mount/mongodb/data`,用于持久化MongoDB数据。您可以使用以下

稳,从数据库连接池 testOnBorrow 看架构设计

本文从 Commons DBCP testOnBorrow 的作用机制着手,管中窥豹,从一点去分析数据库连接池获取的过程以及架构分层设计。以下内容会按照每层的作用,贯穿分析整个调用流程。

TiDB简述及TiKV的数据结构与存储

本文主要从TiDB的各类组件为起点,了解它的基础架构,并重点分析它在存储架构方面的设计,探究其如何组织数据,Table中的每行记录是如何在内存和磁盘中进行存储的。

Matlab导入多个.mat文件并画图的过程详解

matlab导入多个.mat文件进行作图的过程详解,包括导入.mat文件、plot常用设置、图例画法、子图画法