自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 收藏
  • 关注

原创 Spring Cache配置:Redis缓存管理器、Caffeine缓存管理器

摘要:Spring Cache配置指南 添加依赖:在Maven项目中引入spring-boot-starter-cache基础依赖 启用缓存:通过@EnableCaching注解激活缓存功能 配置缓存管理器: 简单缓存:使用ConcurrentMapCacheManager Redis缓存:需要额外依赖,可配置过期时间和序列化方式 Caffeine缓存:支持高级配置,包括过期策略和缓存大小 特殊配置: Redis需配置连接工厂和序列化器 Caffeine支持细粒度的缓存策略控制 每种方案都提供了代码示例,可

2025-07-01 16:44:32 460

原创 Redis 增量迭代

Redis ZSet增量迭代技术通过ZSCAN命令实现大数据量的分批处理,避免内存溢出。摘要如下: 核心机制 使用ZSCAN key cursor [MATCH pattern] [COUNT count]命令进行渐进式遍历 每次返回新游标和部分数据(成员+分数),游标归零时完成迭代 支持通配符过滤和数量控制,默认每批约10条 关键特性 弱一致性:遍历期间数据修改可能导致重复/遗漏 时间复杂度:单次O(1),完整遍历O(N) 适合千万级数据场景(如用户排行榜、延迟任务队列) Java实现 基础版:scanA

2025-06-29 16:37:24 1002

原创 ZSet高效的数据获取方式

Redis ZSet提供多种高效数据获取方式:1) 按分数范围查询(zrangebyscore)适用于筛选特定分数段数据;2) 批量操作(Pipeline/Lua)减少网络延迟,适合批量获取多个ZSet;3) 增量迭代(ZScan)处理百万级数据,避免全量加载;4) 分片并行获取加速超大规模数据读取;5) 索引查询(zscore/zrank)快速获取单个成员信息。不同场景可选用对应方法优化性能,如从节点读取减轻主库压力。

2025-06-29 16:02:45 839

原创 避免 ZSet 内存溢出

Redis高可用配置与ZSet内存优化方案摘要:针对ZSet数据存储需求,提出分片存储与批量操作策略,通过智能分片(如100个分片)和一致性哈希算法均匀分布数据,防止内存溢出。采用Jedis事务保证原子性,Pipeline批量操作减少网络开销,并设置过期时间控制数据增长。提供分页查询接口优化读取性能,同时支持GZIP压缩和Base64编码降低存储压力。该方案在保证数据可靠性的同时,有效解决大ZSet内存问题,适用于排行榜等高频读写场景。

2025-06-29 14:59:00 111

原创 动态表名分片的设计逻辑

动态表名分片设计摘要 动态表名分片通过水平拆分数据到不同物理表提升性能和扩展性。核心策略包括: 按时间分片(如order_202306),适合时间序列数据,通过日期快速定位表; 按哈希分片(如user_0到user_9),根据字段哈希值分散数据,需预先规划分片数量; 按业务维度分片(如order_cn),根据地区等业务属性拆分。 实现上采用策略模式(工厂类选择分片策略)和动态拦截器(如MyBatis拦截器修改SQL表名)。示例代码展示了时间/哈希/业务分片的核心逻辑,包括表名生成与范围查询处理。此方案需权衡

2025-06-28 17:39:22 143

原创 np.pad用法

pad_width[1]是一个元组,表示在对应方向上应该填充多少,不填充时为(0,0)可以看到,在上面的例子中pad_width表示的是对应的axis轴在那个方向增加填充。pad_width[1]是在axis=1上增加填充。

2023-01-21 09:36:32 303

原创 tf.one_hot用法

indices,depth,axis=None,name=None)1. indices是labels,即你要进行one_hot编码的数据2. depth是你数据的类别,或者区间长度3. on_value默认是1,这表示对应值有效时,one_hot编码中的值4. off_value默认是0,表示对应值无效时,one_hot编码的值5. axis默认为-1,表示你的one_hot编码从哪个方向展开,axis为0时,列表示一个数据,行表示类别上面的例子,labels表示我要编码的数据,

2023-01-13 11:53:22 415

原创 提高你模型的性能(笔记)

在偏差较高时,会出现欠拟合的现象,此时用的模型就过于简单了;另外,当你的λ设的足够大,那么W将会更接近于0,直观上就是多隐藏单元的权重为0,从而消除了隐藏单元,这时神经网络就被简化,但是它依然很深,所以这个网络就会从过度拟合的状态变为高偏差状态,但是在这过程中,由于是连续的变化,所以会有一个中间态,也就是我们希望让模型变成的低偏差低方差的状态。但如果你的数据比较多,那么你可以适当减少验证集和测试集的比例,因为验证集的目的就是验证不同的算法,比较那种算法更有效,只要有一定的数据量就可以满足这个需求。

2023-01-09 21:13:02 369

原创 np.squeeze用法

这里当axis=None,即默认值时,np.squeeze将矩阵直接变为一维数组。np.squeeze(a, axis=None)将矩阵维度进行移除。如果你指定了轴,那么他将移除指定轴的维度。并且不能移除元素个数大于1的轴。

2023-01-06 16:15:50 1208 1

原创 numpy.concatenate函数用法

numpy.concatenate¶用于将矩阵合并numpy.concatenate((a1, a2, ...), axis=0, out=None, dtype=None, casting="same_kind") Join a sequence of arrays along an existing axis. 沿着已经存在的轴合并一个矩阵 相关参数 Parameters a1, a2, …sequence of array_like

2021-05-16 16:28:02 6203

原创 numpy.linalg.det、numpy.linalg.solve函数用法

numpy.linalg.det这个函数用于计算矩阵的行列式linalg.det(a)计算矩阵a的行列式Parameters a(N, M, M) array_like Input array to compute determinants for. 要计算的行列式的矩阵,这个输入形状要求最后的两个维度相等Returns det(N) array_like 返回,形状为N的行列式 LinAlgError: Last 2 dimensi

2021-05-16 15:58:27 12025

原创 numpy.dot、numpy.trace函数用法

这篇文章帮助学习者了解下numpy的两个函数,dot和tracenumpy.dot 这个函数实现的是矩阵乘法官方文档如下: numpy.dot(a, b, out=None) Dot product of two arrays. Specifically, If both a and b are 1-D arrays, it is inner product of vectors (without complex conjugation) I...

2021-05-16 15:40:15 5996

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除