Let's Go Rust 系列之定时器 Ticker Timer

2021-12-03
阅读 21 分钟
3.8k
前言在实际项目开发中,经常会有定时任务的功能开发需求,定时任务主要分为两种,在固定的时刻执行某个任务,也就是 Timer基于固定的时间间隔,周期的执行某个任务,也就是Ticker很多基于时间的调度任务框架都离不开这两种类型。本文将会分别介绍在Golang和Rust语言中这两种定时器类型以及它们的使用方法。GolangGolang...

Rust开发postgres扩展

2021-11-30
阅读 18 分钟
1.3k
Rust 语言是一门通用系统级编程语言,无GC且能保证内存安全、并发安全和高性能而著称。自2008年开始由 Graydon Hoare 私人研发,2009年得到 Mozilla 赞助,2010年首次发布 0.1.0 版本,用于Servo 引擎的研发,于 2015年5月15号发布 1.0 版本。 自发布以来,截止到2021 年的今天,经历六年的发展,Rust 得到稳步上升,已...

基于channel的通信模型实践

2021-11-29
阅读 7 分钟
2.1k
channel 作为 Go 核心的数据结构和 Goroutine 之间的通信方式,Channel 是支撑 Go 语言高性能并发编程模型的重要结构本节会介绍管道 Channel 的设计原理、数据结构和常见操作,例如 Channel 的创建、发送、接收和关闭。

Clickhouse存储引擎的存储模型及工作机制

2021-11-29
阅读 4 分钟
1.8k
在大部分的DBMS中,数据库本质上就是一个由各种子目录和文件组成的文件目录,clickhouse当然也不例外。clickhouse默认数据目录在/var/lib/clickhouse/data目录中。所有的数据库都会在该目录中创建一个子文件夹。下图展示了clickhouse对数据文件的组织。