- 博客(12)
- 收藏
- 关注
原创 Redis字符串SDS
SDS 设计提供了更多的功能和安全性,以满足 Redis 高效处理字符串数据的需求。等,提供了比传统 C 字符串更安全、更灵活的功能,保证了 Redis 的高性能和稳定性。在 Redis 中,字符串(String)是最基本的数据类型之一。Redis 内部使用。来实现字符串数据结构,而不是 C 语言中的传统。SDS 在 Redis 中广泛用于存储。
2024-11-27 22:33:29
438
原创 Redis中的String类型深入理解
是最基础和常用的数据类型,但其底层实现并不局限于一种固定结构。根据字符串的长度和内容,Redis 会使用不同的数据结构来优化性能和内存利用率。一旦字符串内容发生变化(如转换为非整数),Redis 会将其转换回 SDS。SDS 是 Redis 字符串类型的主要底层实现。GET key # Redis 内部将 "100" 存储为整数。的增强,解决了传统 C 字符串的一些问题(如。),且长度较短时,Redis 会将其存储为。终止、长度获取复杂等)。(通常小于 44 字节)。
2024-11-27 22:29:54
423
原创 RocketMq源码分析用到的设计模式
定义消息发送的整体流程,允许子类在不改变结构的情况下重写特定步骤。根据不同的消费模式(顺序或并发)选择不同的处理策略。创建不同类型的生产者实例,隐藏对象创建的复杂性。为发送消息提供代理,控制对实际发送逻辑的访问。确保 Producer 的客户端实例全局唯一。消费者订阅主题,当有新消息时触发回调处理。将消息消费的多个步骤串联起来,按顺序处理。动态选择消息发送策略(如消息队列选择)。根据不同的状态切换不同的消费行为。方法实际上是通过代理调用。
2024-11-27 12:14:07
432
原创 MMAP详解 && RocketMQ和Redis为什么使用MMAP
1. 什么是 mmap?是一种将文件或设备映射到进程的地址空间的方法。通过 mmap,应用程序可以像操作内存一样访问文件内容,而不需要使用传统的 I/O 读写系统调用。几乎所有现代操作系统(如 Linux、Windows)都提供 mmap 支持。用于处理大文件、高效读取日志、数据库设计等。
2024-11-27 12:00:44
375
原创 一口气给你肝完什么是CAP理论
所有节点访问同一份数据时,返回的结果是相同的,即数据保持一致。系统的数据存储在这两个节点上。每个请求(非故障节点)都能获得响应,无论是否成功。系统能够继续运行,即使网络中存在。你有一个简单的分布式系统,由。
2024-11-27 11:45:22
752
原创 Spring AbstractRoutingDataSource 不生效原因
通过 AbstractRoutingDataSource 和 ThreadLocal 切换动态切换数据源,一个是 原始数据源 另外一个是Sharding JDBC数据源。 至于为什么这么做是因为 如果全部都是使用 Sharding JDBC数据源会影响其他没有分表的sql。问题:AbstractRoutingDataSource的determineCurrentLookupKey方法没有被调用,理论上来说没执行一次sql都会执行determineCurrentLookupKey方法,但是奇怪的是没有执行。
2021-11-18 09:55:33
3653
2
原创 sharding jdbc 配置报错
spring boot 集成 sharding jdbc 报错 No qualifying bean of type ‘javax.sql.DataSource’ available: expected single matching bean but found 2: creditDataSourceMySQL,shardingDataSourcecreditDataSourceMySQL:是我自己配置的数据源。shardingDataSource:是sharding jdbc创建的数据源。异常说:
2021-11-14 15:59:23
2649
原创 sharding jdbc 策略失效原因
配置了一个策略,debug没有进入这代码里。原因:sharding jdbc不支持一些sql,就不会进入。我的sql为:正确写法为:
2021-11-14 15:47:06
3064
原创 There is no PasswordEncoder mapped for the id “null“ 异常
这种异常百度一下一大把,但是还是没解决我这问题,那么只能看源码自己分析了,所以记录一下。原因:往spring注入了2个PasswordEncoder接口实现类,导致spring不知道取哪个。解决问题思路:1、首先定位这个异常在源码的哪个地方。2、然后通过debug方式,查找从哪里进来的,我自定义实现了PasswordEncoder接口,为什么不走我自定义的matches方法,而是走PasswordEncoder接口的DelegatingPasswordEncoder实现类?那么只能继续
2021-07-17 16:29:25
375
1
原创 Dobbo配置及优先级
Dubbo配置详解Dubbo提供了多种灵活的配置,接下来我们一一介绍Dobbo配置使用。配置方式介绍XML文件配置可以在resource目录下配置provider.xml和consumer.xml文件。属性配置Dubbo可以自动加载classpath根目录下的dubbo.propertiesAPI配置Dubbo也支持面向对象配置,通过类设置属性的方式值得注意的是,不管是以哪种方式配置Dobbo都会调用 service.export()方法。只不过API配置是需要显示的调用,其他配置都
2020-06-14 01:50:25
504
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人