Engineering Notes

孟斌的小站

技术博客与学习记录

共 608 篇文章 标签与分类索引已启用

MySQL存储引擎简介

常用MySQL存储引擎对比

| 存储引擎 | 描述 | 事务支持 | 锁机制 | ACID 支持 | 索引类型 | 适用场景 | | ----------- | ------------------------------------------------------------ | -------- | --------- | --------- | -------- | ------------------------------------------------------- | | InnoDB | 默认的存储引擎,支持事务和行级锁,具有 ACID 兼容性。 | 是 | 行级锁 | 是 | B+ 树 | 事务处理、高并发、数据完整性要求高的应用 | | MyISAM | 不支持事务,表级锁,不具备 ACID 特性。 | 否 | 表级锁 | 否 | B 树 | 读密集型、插入和查询频繁的应用 | | MEMORY | 数据存储在内存中,速度快,但不持久化。 | 否 | 无锁 | 否 | 哈希 | 临时表、缓存、需要高性能读写的临时数据 | | NDB Cluster | 用于 MySQL Cluster,支持分布式存储和高可用性。 | 是 | 行级锁 | 是 | 哈希 | 分布式数据库、高可用性、实时数据需求 | | TokuDB | 高性能存储引擎,压缩数据,适用于大数据量的 OLAP 场景。 | 是 | 事务锁 | 是 | B+ 树 | 数据仓库、大数据量分析、高写入负载 | | ARCHIVE | 高度压缩存储引擎,只支持 INSERT 和 SELECT 操作。 | 否 | 表级锁 | 否 | 无 | 数据归档、日志存储 |

继续阅读

常见密码学算法简介

1. 常见对称加解密算法

对称加密算法是一种加密算法,使用相同的密钥来加密和解密数据。这些算法在保护数据安全性方面起着重要作用。下面是一些常用的对称加密算法的介绍:

继续阅读

Redis中的缓存雪崩、缓存击穿、缓存穿透问题

1. 什么是缓存雪崩

当我们提到缓存系统中的问题,缓存雪崩是一个经常被讨论的话题。缓存雪崩是指在某一时刻发生大量的缓存失效,导致瞬间大量的请求直接打到了数据库,可能会导致数据库瞬间压力过大甚至宕机。尤其在高并发的系统中,这种情况会导致连锁反应,整个系统可能会崩溃。

继续阅读

Redis 互斥锁使用

Redis的互斥锁是一种并发控制机制,用于确保在分布式环境中只有一个客户端能够访问共享资源,以防止竞争条件和数据不一致性。互斥锁是通过Redis提供的原子性操作来实现的,通常使用SETNX(SET if Not eXists)命令或者SET命令结合过期时间来实现。以下是关于Redis互斥锁的详细介绍:

继续阅读

零知识证明简介

零知识证明(Zero-Knowledge Proof,ZKP)是一种密码学概念,用于证明某个主张是真实的,同时不需要泄漏关于该主张的任何额外信息。在零知识证明中,证明者(Prover)试图向验证者(Verifier)证明某一断言的真实性,而验证者只会知道这个断言是真或假,但不会得到有关证明的任何其他信息。

继续阅读

PKI体系简介

PKI系统简介

PKI(Public Key Infrastructure,公钥基础设施)是一种密码学框架,用于安全地管理数字证书、公钥和私钥,以确保通信和数据的机密性、完整性和身份验证。PKI建立在公钥密码学的基础上,通过数字证书颁发机构(CA)和相关组件来实现安全通信和身份验证。以下是对PKI体系的详细介绍:

继续阅读

使用 INI 配置文件格式处理 Go 语言应用程序配置

在 Go 语言开发中,读取和解析配置文件是一个常见的任务。INI 格式是一种简单而常见的配置文件格式,它由多个部分组成,每个部分包含键值对,用于配置应用程序的各种属性。本文将介绍如何在 Go 语言中使用 INI 格式的配置文件。

go
继续阅读

PKCS#11:密码设备与应用程序的密码学接口

密码学在信息安全中扮演着至关重要的角色。为了保护敏感信息、数字身份和网络通信的安全性,密码设备(如硬件安全模块HSM)与应用程序之间的安全通信和互操作性变得至关重要。PKCS#11(Public-Key Cryptography Standards #11)是一个密码学标准系列,定义了密码设备和应用程序之间的通用接口,本文将深入探讨PKCS#11的技术细节和应用。

继续阅读

go的GPM模型

Go的GPM模型(Goroutine, P, M)是一种用于管理并发执行的调度模型,有助于充分利用多核处理器,并提供高效的并发编程体验。以下是对GPM模型的详细介绍:

go
继续阅读