自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(15)
  • 资源 (9)
  • 收藏
  • 关注

原创 分布式事务

事务的基本结构开启事务执行业务逻辑提交/回滚事务分布式事务是指在多个系统上进行的事务,目的是保证在一个过程中对这些系统操作的数据的一致性。分布式事务实现的思路:要执行事务的各个系统准备好后,再统一提交或回滚。

2024-03-27 09:19:45 365 1

原创 分布式锁的实现方式

开启不自动提交事务select xx for update //上锁手动提交事务 //释放锁一般不使用这种方式,因为如果数据库异常,数据库释放锁的时间会相对较长,且数据库压力会比较大。当然也可以用其他排他锁,如update语句、insert语句等。

2024-03-25 21:38:07 188 1

原创 事务原理--redolog和undolog

只有innoDB支持事务。redolog和undolog都只有innoDB才有。

2024-03-02 13:49:45 332 1

原创 innoDB缓存

三大存储特点:哈希缓存,双写缓冲区,buffer pool。

2024-02-28 21:01:35 309

原创 mysql索引合并

mysql最终会走那种索引合并策略,是根据查询优化器计算估计后决定的,不是满足以上某种情况就一定会走对应的索引合并方式。注意,没有sort-intersection。因为sort-union从索引获取的记录数少,即使排序,成本也不会太高。而intersection是从索引中获取的记录较多,排序成本太高。

2024-02-23 18:20:28 472 1

原创 数据库的锁

共享锁也叫s锁(share),写法上S锁后,其他事务可读,不可改。排他锁也叫x锁(exclusive),写法insert update delete都是排他锁。上X锁后,其他事务不可读和改。在同一个事务中:用了x再用x会阻塞用了x再用s会阻塞用了s再用x会阻塞用了s再用s不会阻塞。

2024-02-20 17:54:10 351 1

原创 数据库事务隔离

严重程度:脏读>不可重复度>幻读。

2024-02-06 15:50:11 303 1

原创 数据库字段类型

tinyint、smallint、mediumint、int、bigint,分别占用字节数1、2、3、4、8。整数类型后面跟的括号里的数字,表示显示长度,跟占用字节数没有关系,如int(5)表示显示5位,如28会显示成00028。所以一般int后面是11,因为int是2的32次方,其范围是-2147483648到2147483647,可以看到最长的(加上负号)是11位十进制数。

2024-02-05 12:37:10 330 1

原创 数据库索引

1. 范围查找效率低2. 排序效率低3. 组合索引时,不能部分匹配如一个B+树的组合索引(a,b,c),用a字段或a,b字段去查,是能命中索引的,但哈希索引会把a,b,c三个字段揉成一个哈希值去查,因此单独的a或a,b是用不了索引的。4. 哈希冲突在严重的时候,影响索引效率:单个数据查询很快。

2024-02-05 12:31:46 1532 1

原创 多线程原理

jvm虚拟机里新建一个“线程”,会让操作系统创建一个对应的线程。而go虚拟机里新建一个“线程”,操作系统不一定会对应创建一个线程,一般来说go虚拟机里的多个“线程”对应一个操作系统的真正的线程,go的这种“假线程”叫做协程,它比线程更轻量。一个核同一时刻只能运行一个线程,但有时候线程可能会等待(如等待网络数据、等待用户输入),为了利用等待时间,cpu会做线程调度,将其他线程先拉进来执行。由于alu执行很快,有些cpu的一个核里会给一个alu配几对pc+register,这个核就能一次运行多个线程,这叫。

2024-01-10 08:55:00 549 1

原创 cpu和代码执行

多线程运行时,同一个缓存行可能被加入多个核(线程)中,这个缓存行里的数据被其中一个核修改了,就需要通知其他核同步数据,这会有耗时。现在的cpu一般是多级缓存(一般有二到三级缓存),缓存读取速度很快,cpu从缓存都就可以了,如果没都到(未命中)才从下一级缓存读,如果缓存都没读到,才从内存读,从内存或者下一级缓存读到的数据会存到上一级缓存里。因为大部分情况下执行的命令和数据都是挨着的,如果一次读一个命令或数据到缓存,就会经常去读,所以cpu会批量读,一次读入64个字节,叫一个缓存行(cache line)。

2024-01-05 08:50:11 385 1

原创 微服务设计原则

服务如果粒度太细,服务间的通信就会更多,降低效率。服务如果太粗,就会有冗余,比如每个服务上都搭建一套鉴权功能。如使用rest、消息队列等进行通信,可以适用于不同技术栈开发的服务之间,发挥各技术栈的优势。1. 隔离,或者单一职责。服务之间的职责不要重合,最好职责单一。可以单独发布,不影响其他服务。此外,如果服务或调用链路比较复杂,需要有链路追踪、日志监控等能力。

2024-01-03 09:17:14 389 1

原创 常见的4种限流算法

如周期内限流100,在周期末尾来了99,下个周期开始来了99,那么这个期间就会有超过100的流量。恒定速率生成令牌,放到桶里,有流量来的时候就去取令牌,所以处理不一定是恒定的,但最大不会消耗超过桶大小的令牌数,因此也是能限流的。优点:短时间内有突发的大流量时,只要令牌桶里的令牌数足够,就能处理这些流量。缺点:短时间内有突发的大流量时,漏桶可能接不住,处理不了这么多流量。令牌桶跟漏桶很像,但令牌桶能更好地处理突发流量,因为它可以缓存令牌。请求放在漏桶里,可以积累,处理请求的,以恒定速度去处理。

2024-01-03 09:05:30 343 1

原创 算法快餐——布隆过滤器

问村长“张飞回来了吗?”,村长一看张家的灯笼亮着,就说“回来了。村长就脱口而出“回来了。”村长看了看张家门口亮着的灯笼,答“回来了。白天全村人都出门去打工了,晚上才回来,回来的时候就把自家门口的灯笼打开。这天傍晚,张飞、张三、刘备回到了自己家,顺手把自己家门口的灯笼打开了。从前有个村,村里有很多户人,每户都是同一个姓,不同户的姓都不一样。”村长看孙家的灯笼没亮,就说“没回来。谁家的灯笼亮着,这家的人就“可能”回来了,村长就有可能答错。谁家的灯笼没亮,这家的人就“肯定”没回来,村长就肯定回答对。

2023-05-06 13:29:22 24

原创 BASE理论

Basically Available 基本可用。允许一定的不可用,如时间上的响应慢,功能上的降级。Eventually consistent 最终一致性。所有数据副本经过一定时间后状态都能达到一致。Soft state 软状态。允许存在不影响可用性的中间状态。BASE是对CAP中CP(一致性)和AP(可用性)的折中。

2023-05-06 08:29:21 21 1

dbForge 破解版

必须安装压缩包里面的这个版本的dbForge,然后将patch中的文件覆盖安装目录下的文件即可。

2013-07-20

Intel Vtune序列号

vtune的激活文件,注意看清楚了,是用来激活vtune的。vtune性能调试,英特尔VTune 性能分析器

2012-10-25

linux0.11版内核,学习用

linux0.11版内核,最适合初学linux内核着学习使用!“ 0.11 版内核不超过 2 万行代码量,因此完全可以在一本书中解释和注释清楚。麻雀虽小,五脏俱全。”

2012-08-14

VC++动态链接库(DLL)编程深入浅出

讲解动态链接库的资料,关于VC++编写dll,详细请看内容.

2012-07-28

源码追踪经验谈

侯捷的书,不用多说了吧,经典!从事c++的国人都知道。

2012-07-26

Code Reading: The Open Source Perspective

本书的特色在于,同数据结构和语言描述图书不同,涉及更多工程实践。同软件工程不同,涉及具体实现。总之和确实没有同类型的书。本书缺点是图书出的太早,那个时候还没有sourceinsight, visual slickedit,ultraedit。因此代码阅读工具比较陈旧,大家都不这么用了。值得开发人员收藏!

2012-07-26

C++语言的设计和演化

本书是C++的设计者关于C++语言的最主要著作之一。作者综合性地论述了C++的发展历史,C++中各种重要机制的本质意义和设计背景,这些机制的基本用途和使用方法,讨论了C++所适合的应用领域及其未来的发展前景。全书共18章,分两大部分,其中第1部分(第1~9章)分别介绍了C++的史前时代、C with Classes、C++的诞生、C++语言设计规则、1985—1993年表、标准化、关注和使用、库、展望;第2部分(第10~18章)分别介绍了存储管理、重载、多重继承、类概念的精练、强制转换、模板、异常处理、名称空间、C语言预处理器。为便于查找与学习,全书最后附有专业术语索引。本书在帮助人们理解C++语言方面的作用是不可替代的。书面向每个学习和关注C++语言的专业工作者、科研人员、教师及学生。

2012-07-26

The C++ Standard Library

C++标准程序库提供了一组通用类别(classes)和界面(interfaes),可大幅扩充C++核心语言。程序库本身无法不辩自明,为了完整运用其组件,并从其强大的威力中获得利益,你需要一份完善的资源,而非一份仅仅列出类别和函数的一般文件。

2012-07-26

C++ Common Knowledge

中文版名称是《C++必知必会》。 当时之所以会买很大程度上是因为这个名字, 因为我觉得自己当时对C++的了解程度是——不知不会。 全书共有63个条款(为什么C++的书都喜欢用条款来划分章节?) , 後面的30%是关于模板和泛型, 自我感觉暂时没必要了解太多, 跳过。 必须承认, 里面的大部分条款我都是首次听闻, 大长见识:) 对以后看设计模式应该很有帮助, 不过也有几个条款是属于底层C的知识, 放在这本书里有点凑数的感觉。 另外, 模板实在讲得太多了! 很不错,推荐 。

2012-07-26

空空如也

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

TA关注的人

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