logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

讲讲 Redis 集群为什么只有 0 号数据库?

Redis Cluster 只支持,所有 key 通过 CRC16 落到槽位,而槽位分片是整个集群的数据一致性基础。,会导致相同 key 在不同 DB 中产生不同槽位,使节点无法判断 key 的真正归属。,迁移需要处理所有 DB,甚至槽位元数据会无法维护。。多数据库需求应通过来实现,不推荐使用 Redis 的 DB 概念。Redis 集群(Cluster 模式)之所以只支持 0 号数据库,根本原因

#数据库#redis#mybatis
敏感数据加密后如何实现模糊查询

内存解密方案的优点是简单方便,缺点是每次将加密后的数据整表加载到内存中然后解密再匹配,随着业务的发展,业务数据量会越来越大,那么很容易造成OOM。如果在数据库里面的数据已经加密了,此时我们将这些数据查询到内存中,然后进行解密操作,最后在解密后的数据中进行模糊查询来筛选出符合条件的数据。如果要查询186手机号开头的用户信息,首先通过186手机号在明文表中查询对应的用户id,然后通过用户id去用户表中

#oracle#数据库
自定义json序列化和反序列化

Bean/*** 自定义反序列化处理器* 支持yyyy-MM-dd、yyyy-MM-dd HH:mm:ss*/@Overridetry {/*** 自定义序列化处理器*//*** 默认序列化yyyy-MM-dd HH:mm:ss* 若存在@JsonFormat(pattern = "xxx") 则根据具体其表达式序列化*/@Overridereturn;/*** 通过字段已知的上下文信息定制 Js

文章图片
#json
springboot easy-excel下载

【代码】springboot easy-excel下载。

文章图片
#spring boot#java
springboot 导入其他配置文件

从 Spring Boot 2.4 开始,支持通过属性导入其他配置文件。

文章图片
#spring boot#java#数据库
StreamingResponseBody:处理大批量数据导出

这种方式非常适合处理大文件下载、大批量数据导出等场景,因为它可以避免一次性加载所有数据到内存中,从而减少内存占用并提高性能。我们将采用StreamingResponseBody来实现流式响应,同时结合分页查询和异步处理。以下是带有详细注释的优化实现。Spring框架中,StreamingResponseBody 是一个接口,:只在需要时加载数据,并立即发送给客户端,减少了对服务器内存的压力。:数据

#java
HotSpot JVM 为啥要叫做 HotSpot JVM?

第二条执行路径,指的是编译对象非常简单的情况下,如getter和setter,虚拟机认为通过C1编译或通过C2编译并无区别,就会在3层编译后,直接由C1编译且不插入profiling代码(level 1)。否则,不用关系 织入了啥,了解这个思想就行。与解释执行相反,JVM加载字节码的时候,直接将字节码转换为机器码,在执行方法调用时直接执行机器码,不需要做翻译工作,这样的过程叫。第四条执行路径,指的

文章图片
#jvm
CAS与原子操作

我们知道,在Java中,如果一个方法是native的,那Java就不负责具体实现它,而是交给底层的JVM使用c或者c++去实现。用这个方法能准确地告诉你某个字段相对于对象的起始内存地址的字节偏移量,因为是相对偏移量,所以它其实跟某个具体对象又没什么太大关系,跟class的定义和虚拟机的内存模型的实现细节更相关。因为CAS是一种原子操作,它是一种系统原语,是一条CPU的原子指令,从CPU层面保证它的

文章图片
#java#开发语言
到底了