自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(123)
  • 资源 (2)
  • 收藏
  • 关注

原创 建造者模式(装修公司装修套餐)

java 实现建造者模式 装修公司装修套餐 demo

2024-04-25 22:16:12 337

原创 抽象工厂模式(Redis 集群升级)

java 实现 抽象工厂模式 Redis 集群升级 demo

2024-04-25 21:30:10 280

原创 工厂方法模式(模拟发奖多种商品)

java 工厂方法模式 模拟发奖多种商品 实现案例

2024-04-25 21:28:32 107

原创 java 实现 23 树

java 实现 23 树

2024-04-23 22:34:17 220

原创 java 实现 avl 树

java 实现 avl 树

2024-04-23 22:31:49 140

原创 java 实现布隆过滤器(BloomFilter)

java 实现布隆过滤器(BloomFilter)

2024-04-23 06:41:57 296

原创 java 实现字典树(Trie)

java 实现字典树(Trie)

2024-04-23 06:32:07 253 1

原创 java 实现堆栈(Stack)

java 实现堆栈(Stack)

2024-04-23 06:26:20 617

原创 java 实现延迟队列

java DelayQueue 实现

2024-04-22 22:01:15 331

原创 HashMap java 实现

HashMap java 实现

2024-04-22 21:34:08 125

原创 java 实现链表

LinkedList java 实现

2024-04-22 21:28:28 288

原创 java ArrayList 实现

ArrayList 实现源码

2024-04-22 21:22:11 230

原创 SparkStreaming经典 demo

在短视频流行的当下,推荐引擎扮演着极其重要的角色,而要想达到最佳的推荐效果,推荐引擎必须依赖用户的实时反馈。所谓实时反馈,其实就是我们习以为常的点赞、评论、转发等互动行为,不过,这里需要突出的,是一个“实时性”、或者说“及时性”。毕竟,在选择越来越多的今天,用户的兴趣与偏好,也在随着时间而迁移、变化,捕捉用户最近一段时间的兴趣爱好更加重要。

2024-04-21 22:57:37 602

原创 sparkStreaming Batch mode和Continuous mode

当数据像水流一样,源源不断地流进 Structured Streaming 引擎的时候,引擎并不会自动地依次消费并处理这些数据,它需要一种叫做 Trigger 的机制,来触发数据在引擎中的计算。换句话说,Trigger 机制,决定了引擎在什么时候、以怎样的方式和频率去处理接收到的数据流。

2024-04-18 23:36:19 424

原创 SparkUI 讲解

在日常的开发工作中,我们总会遇到 Spark 应用运行失败、或是执行效率未达预期的情况。对于这类问题,想找到根本原因(Root Cause),我们往往需要依赖 Spark UI 来获取最直接、最直观的线索。

2024-04-17 22:51:50 1014

原创 Spark AQE(Adaptive Query Execution)机制

AQE 的全称是 Adaptive Query Execution,翻译过来是“自适应查询执行”。它包含了 3 个动态优化特性,分别是 Join 策略调整、自动分区合并和自动倾斜处理。

2024-04-13 21:21:47 664

原创 sparkSql join 关联机制

Join 有 3 种实现机制,分别是 NLJ(Nested Loop Join)、SMJ(Sort Merge Join)和 HJ(Hash Join)

2024-04-13 21:19:08 797

原创 理解 SparkSQL DataFrame 对 RDD 的优化

Spark 只知道开发者要做 map、filter,但并不知道开发者打算怎么做 map 和 filter。换句话说,对于 Spark 来说,辅助函数 f 是透明的。在 RDD 的开发框架下,Spark Core 只知道开发者要“做什么”,而不知道“怎么做”。这让 Spark Core 两眼一抹黑,除了把函数 f 以闭包的形式打发到 Executors 以外,实在是没有什么额外的优化空间。而这,就是 RDD 之殇。

2024-04-06 22:43:56 789

原创 spark 经典demo 的 scala 和 java 实现

spark 经典demo 的 scala 和 java 实现

2024-04-06 22:39:32 985

原创 拜访斯巴克(Spark)建筑集团——理解 spark 的调度系统、shuffle 管理、内存管理、存储系统

话说很久以前,美国有一家名扬海内外的建筑集团,名为“斯巴克(Spark)”。这家建筑集团规模庞大,设有一个总公司(Driver),和多个分公司(Executors)。斯巴克公司的主要服务对象是建筑设计师(开发者),建筑设计师负责提供设计图纸(用户代码、计算图),而斯巴克公司的主营业务是将图纸落地、建造起一栋栋高楼大厦。

2024-04-04 09:58:43 1019 1

原创 Spark常用算子的实现原理

💐💐扫码关注公众号,回复关键字下载geekbang 原价 90 元 零基础入门 Spark 学习资料💐💐。

2024-04-04 09:55:02 908

原创 理解RDD基本属性与Spark进程模型

从薯片的加工流程看 RDD 的 4 大属性:partitions:数据分片 partitioner:分片切割规则 dependencies:RDD 依赖 compute:转换函数

2024-04-02 09:30:00 930

原创 Spark 基础教程 一文看懂 spark 常用操作汇总

Spark 基础教程 一文看懂 spark 常用操作汇总

2024-04-02 09:15:00 651

原创 Redis 的底层数据结构和IO模型

Redis 的底层数据结构一共有 6 种,分别是简单动态字符串、双向链表、压缩列表、哈希表、跳表和整数数组。

2024-03-16 20:50:23 936

原创 理解 MySQL join 语句的执行过程

不论是在原表上加索引,还是用有索引的临时表,我们的思路都是让 join 语句能够用上被驱动表上的索引,来触发 BKA 算法,提升查询性能。

2024-03-15 23:40:49 1580

原创 MySQL order by 语句执行流程

MySQL order by 可以使用 全字段排序 和 rowid 排序,order by 的执行成本比较高

2024-03-14 23:42:22 790

原创 MySQL删除数据 文件大小不变的原因以及处理空洞问题

如果要收缩一个表,只是 delete 掉表里面不用的数据的话,表文件的大小是不会变的,需要通过 alter table 命令重建表,才能达到表文件变小的目的。Online DDL 的方式可以考虑在业务低峰期使用

2024-03-14 22:50:46 356

原创 一条 sql 语句可能导致的表锁和行锁以及死锁检测

锁MDL当对一个表做增删改查操作的时候,加 MDL 读锁;当要对表做结构变更操作的时候,加 MDL 写锁行锁两阶段锁协议死锁和死锁检测。

2024-03-12 22:54:43 1142 2

原创 InnoDB索引优化

MySQL 的覆盖索引、最左前缀原则和索引下推优化

2024-03-12 22:03:43 569

原创 MySQL 事务的原理以及长事务的预防和处置

事务在实现上,数据库里面会创建一个视图,访问的时候以视图的逻辑结果为准。在“可重复读”隔离级别下,这个视图是在事务启动时创建的,整个事务存在期间都用这个视图。在“读提交”隔离级别下,这个视图是在每个 SQL 语句开始执行的时候创建的。

2024-03-11 22:35:21 533

原创 一条 SQL 更新语句如何执行的

Server 层存储引擎层总流程查询语句连接器查询缓存分析器优化器执行器更新语句redo log(节省的是随机写磁盘的 IO 消耗(转成顺序写))InnoDB 引擎物理日志循环写binlogserver层逻辑日志追加写入两阶段提交为了知道,mysql 中一条 sql 语句是如何执行的,先讲一下 mysql 的宏观分层以及如何执行查询语句.MySQL 宏观上分为Server 层和。

2024-03-11 22:04:11 1058

原创 redis setnx + lua脚本实现分布式锁

redis setnx + lua脚本实现分布式锁

2022-11-29 11:07:07 432 1

原创 redis 用户权限管理

redis6 可以使用acl命令创建用户分配权限,还可以支持操作key的范围

2022-11-29 10:39:17 2181

原创 redis查找慢查询语句以及处理大key

redis查找慢查询语句以及处理大key

2022-11-28 21:09:55 631

原创 redis 异步非阻塞命令

使用redis非阻塞命令操作redis,不对主线程进行阻塞

2022-11-28 20:21:42 248

原创 redis内存碎片处理

内存碎片让redis占用比自身实际数据存储更多的内存空间,需要整理redis数据以保证redis内存空间的最大化利用

2022-11-28 19:21:03 892

原创 redis 集合操作

redis通过 sunion sdiff sinter 计算集合的并集 差集 交集

2022-11-28 16:56:18 186

原创 redis pv/uv 大数据量去重统计

使用redis的hyperloglog 数据类型可以实现亿级数据量的去重统计

2022-11-28 16:35:35 531

原创 redis 二元数据存储、查询、统计、运算

使用redis bit 处理签到等二元数据问题

2022-11-28 16:31:26 329

原创 redis 订阅模式相关命令

redis channel命令组提供了发布、订阅(oub/sub)模式的支持

2022-11-28 15:49:43 168

hadoop 2.9.1 native包 含snappy

亲自编译hadoop 2.9.1后的 native库放到这里了,省着大家花个半天去编译了,这个应该算是蛮新的版本了吧,如果自己想亲自编译,参照这篇博客https://blog.csdn.net/fanghailiang2016/article/details/80289512

2018-05-21

rubyPHP高性能的PHP框架

rubyPHP的高性能体现在以下几个方面: 1.页面缓存。页面缓存指之前加载过的页面以文件方式缓存在服务器中,在一段时间内再次加载相同页面时无需重新执行页面逻辑直接加载静态页面。rubyPHP的页面缓存是自动进行的,在config/tpl.php中可配置是否启用缓存以及缓存文件的有效期。当然这仅仅是全局设置,在调用视图时可重新指定是否启用缓存以及缓存有效期。 2.SQL缓存。sql缓存指之前执行过的查询sql语句以及他的结果缓存在内存中,在一段时间内用相同的sql语句执行查询操作时不经过数据库直接返回内存中数据。rubyPHP使用Redis以键值方式缓存sql语句以及他的对应结果。rubyPHP能够在php7上完美运行。(附:关于windows php7 redis 扩展的下载参照我的另一篇博客:http://blog.csdn.net/fanghailiang2016/article/details/51396649)。rubyPHP重写了mysql_query以及mongo_query方法,在执行查询sql查询语句时会优先加载未过期的缓存数据。与页面缓存类似,sql缓存的全局配置路径为config/redis.php,在具体执行sql语句前可重新执行是否使用缓存以及缓存有效期。 3.读写分离。读写分离是建立在主从同步基础上为了减轻服务器压力,将查询语句转移到从服务器上执行的解决方案。rubyPHP重写了mysql_query,mongo_query函数,除了对查询语句进行内存级缓存的优化,同时也将查询语句放到了从服务器上执行。mysql的主从配置文件路径为config/mysql.php。

2016-05-16

空空如也

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

TA关注的人

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