- 博客(131)
- 收藏
- 关注
原创 数据库对比
主要场景是「缓存」(减轻 MySQL 等 DB 的读压力)、「分布式锁」(基于 SetNX 命令)、「计数器 / 排行榜」(基于 Sorted Set);:基于「关系模型」(二维表),强 Schema 约束,支持 ACID 事务和 SQL 查询,适合结构化数据、需事务保证的场景。需注意:Redis 虽支持持久化(RDB/AOF),但本质是「内存数据库」,内存成本高,不适合存储大量冷数据。SQLite 是「嵌入式单机 RDBMS」,无服务端(数据存储为单文件,无需启动进程),适合。
2025-08-23 00:37:42
716
原创 MogoDB
当主节点故障(如服务器宕机),副本集会自动选举一个从节点成为新主节点,整个过程无需人工干预,保证服务连续性。存储引擎是 MongoDB 处理数据持久化的核心组件,不同引擎的性能和特性差异较大。(3.2 版本后取代 MMAPv1),此外还有 In-Memory(内存引擎,适合临时数据)。无需预先定义集合的 “表结构”,同一集合中的文档可拥有不同的字段和字段类型。实现水平扩展,将数据分散到多台服务器(分片节点)。当数据量或并发量超过单台服务器的承载能力时,MongoDB 通过。name: "张三"
2025-08-23 00:29:18
657
原创 Kubernetes(K8s)知识解析
Kubernetes(简称 K8s)是 Google 基于 Borg 系统开源的,核心目标是实现容器化应用的自动化部署、扩展、运维与管理,解决大规模容器集群的资源调度、服务发现、故障自愈等核心问题。
2025-08-23 00:20:30
899
原创 提前批面试回忆
JDK 1.7 ConcurrentHashMap 分段锁技术将数据分成一段一段的存储,然后给每一段数据配一把锁,当一个线程占用锁访问其中一个段数据的时候,其他段的数据也能被其他线程访问,能够实现真正的并发访问。可见性:线程对主内存的修改可以及时地被其他线程看到,使用了synchronized和volatile这两个关键字确保可见性;有序性:由于指令重排序,该观察结果一般杂乱无序,在Java中使用了happens-before原则来确保有序性。本质是一个独立的哈希表,维护自己的。
2025-07-28 16:43:09
551
原创 zookeeper
ZooKeeper是一个开源的分布式协调服务,由Apache软件基金会开发,主要用于解决分布式系统中的一致性问题。它提供了一个简单而健壮的接口,帮助开发者处理分布式环境下的配置管理、命名服务、分布式锁和集群管理等问题。ZooKeeper的核心设计灵感来源于Google的Chubby锁服务,但其更轻量且易于集成。
2025-07-22 21:13:22
350
原创 MongoDB
压缩算法(谷歌开源,旨在实现非常高的速度和合理的压缩,压缩比 3 ~ 5 倍)对所有集合使用块压缩,对所有索引使用前缀压缩。为基本单位往磁盘读写数据。使用 B+ 树时,WiredTiger 以。默认情况下,WiredTiger 使用。
2025-02-21 18:01:48
949
原创 签到表方案
位图(Bitmap)是一种空间高效的数据结构,适用于大量数据的存储。可以将每个签到日期映射为一个位,用户签到时将相应位置的位设置为。Redis 提供了高效的存储和操作数据的能力,适合用于处理签到天数统计。可以将每个用户的签到日期存储为 Redis 的。,通过统计位的数量来统计签到天数。能保证日期的唯一性。
2025-01-21 01:20:27
491
原创 UV PV计数
如果关注独立访客数(UV),推荐使用位图或,这两种方法都可以非常高效地统计独立用户访问量。如果仅关注总访问量(PV),可以使用计数器,如果并发量不高,直接使用 Redis 的计数器就可以满足需求。
2025-01-21 01:09:10
462
原创 Sa-Token-微服务
在分布式环境下一般不能正常工作,为此我们需要对框架做一些特定的处理。微服务架构下的第一个难题便是数据同步,单机版的。这种鉴权需求牵扯到两个环节: 网关转发鉴权。、 服务间内部调用鉴权。PASETO和JWT。
2025-01-17 19:39:50
352
原创 Sa-Token-OAuth2.0
OAuth2.0的应用场景可以理解为单点登录的升级版,单点登录解决了多个系统间会话的共享,OAuth2.0 在此基础上增加了应用之间的权限控制。oauth2-client 第三方公司端。oauth2-server 平台端。
2025-01-17 17:39:15
1399
原创 Sa-Token_基础
SaCheckHttpBasic(account = "sa:123456")// Http Basic 校验。@SaCheckHttpDigest(value = "sa:123456")// Http Digest 校验。// 在 `@SaCheckOr` 中可以指定多个注解,只要当前会话满足其中一个注解即可通过验证,进入方法。@SaCheckDisable("comment")// 校验当前账号是否被封禁 comment 服务。Sa-Token提供AOP插件,你只需在。
2025-01-17 11:18:38
936
原创 多租户实现方案
多租户架构是 SaaS 模式中的重要且常见的架构,通过共享和复用资源降低成本,提高效率和可扩展性。:在需要获取租户ID的地方,使用TenantContext类获取租户上下文。:为每个租户的数据设置一个键前缀,通过键前缀来区分不同租户的数据。:创建一个租户切面,用于在方法执行前后设置和清除租户上下文。:创建一个租户拦截器,用于在每次请求处理时设置租户上下文。:创建一个租户注解,用于标记需要设置租户上下文的方法。:在Nacos的配置文件中,配置多租户的支持。:在需要设置租户上下文的方法上添加租户注解。
2024-12-23 15:13:03
1079
原创 SaaS、PaaS、IaaS
利用云端搭建好操作系统或软件层面的如数据库、中间件等供用户使用,使得用户无需关注底层的基础设施和运行环境,只需要利用这些环境运行自己的应用和数据。:即云端已经将操作系统到运行环境到软件的客户端都已经搭建好了,使用方不需要安装任何环境或软件,只需要访问客户端就能直接使用、:需要帮助客户搭建好运行服务的基础设施,就是在线下筹备机房或机器,组成环境运行能够提供服务的项目并部署该项目提供服务。
2024-12-23 10:25:04
258
原创 定制大模型
开源大模型食用指南》基于Linux环境快速部署开源大模型,更适合中国宝宝的部署教程. Contribute to datawhalechina/self-llm development by creating an account on GitHub.>体验文本对话,也可以进行对比。1.注册讯飞星火大模型。控制台-讯飞开放平台。
2024-12-10 14:47:49
410
原创 实现订单未支付过期后自动关单的功能
延迟消息,当消息写入到 Broker 后,不会立刻被消费者消费,需要等待指定的时 长后才可被消费处理的消息,称为延时消息。
2024-12-05 22:43:54
985
原创 JVM回收
长期存活的对象将进入老年代。在发生 Minor GC 之前,虚拟机必须先检查老年代最大可用的连续空间是否大于新生代所有对象总空间,如果这个条件成立,那这一次 Minor GC 可以确保是安全的。标记-整理(Mark-and-Compact)算法是根据老年代的特点提出的一种标记算法,标记过程仍然与“标记-清除”算法一样,但后续步骤不是直接对可回收对象回收,而是。当前虚拟机的垃圾收集都采用分代收集算法,一般将 Java 堆分为新生代和老年代,这样我们就可以根据各个年代的特点选择合适的垃圾收集算法。
2024-12-05 00:21:05
872
原创 整理JVM
对象都会首先在 Eden 区域分配,在一次新生代垃圾回收后,如果对象还存活,则会进入 S0 或者 S1,并且对象的年龄还会加 1(Eden 区->Survivor 区后对象的初始年龄变为 1),当它的年龄增加到一定程度(原理:用过的内存全部整合到一边,没有用过的内存放在另一边,中间有一个分界指针,只需要向着没用过的内存方向将该指针移动对象内存大小位置即可。虚拟机会维护一个列表,该列表中会记录哪些内存块是可用的,在分配的时候,找一块儿足够大的内存块儿来划分给对象实例,最后更新列表记录。
2024-12-04 22:59:54
827
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人