Redis事务 Lua 与 ACID特性解析
本文介绍了Redis事务的实现方式,包括 MULTI/EXEC 命令和 Lua 脚本,并分析了其 ACID 特性。文章指出,Redis 事务不保证原子性和持久性,但可以保证一致性和隔离性。同时,讨论了 Redis 集群模式下事务的处理限制。
DDIA阅读笔记 - 数据系统基础概述
本文介绍了数据系统基础概念,包括操作型系统、分析型系统和数据仓库。阐述了数据仓库用于分析系统,并通过 ETL 从业务系统接收数据的过程。还介绍了数据湖和事件流等概念。此外,文章探讨了云数据和分布式系统的优缺点,以及微服务的应用。总结而言,本文概述了数据系统架构、关键技术及其在数据处理和分析中的应用。
MySQL索引失效常见原因分析
本文总结了MySQL索引失效的常见场景,包括最左匹配原则失效、使用函数或计算、类型不匹配、不等式操作、使用OR、IS NULL、IN、LIKE '%...'、NOT IN、NOT EXISTS、强制类型转换、ORDER BY和GROUP BY、子查询、不等式和等式混合条件等。同时,文章还解释了联合索引的最左匹配原则以及回表查询与索引下推的概念。
MySQL性能调优
本文介绍了MySQL数据库的性能调优,主要从应用角度和数据库参数调优两个方面进行探讨。应用角度涵盖了查询语句优化、缓存策略、数据库设计优化等方面;参数调优方面则详细说明了相关配置参数及其调整建议,旨在提高数据库的性能和稳定性和安全性。
堆基础解析及操作
本文介绍了堆这种数据结构及其两种类型:小顶堆和大顶堆。堆是一种满足特定条件的完全二叉树,其任意节点的值小于等于(或大于等于)其子节点的值。堆常用于实现优先队列,其入队和出队操作的时间复杂度均为 O(logn),建堆操作为 O(n)。文章详细讲解了堆的数组表示、入堆、出堆和建堆等操作,并举例说明了如何利用堆解决 Top-k 问题。
Java集合框架解析
本文深入解析了Java集合框架,涵盖List、Set、Queue和Map四种主要集合类型。List类包含ArrayList和LinkedList两种实现,分别基于数组和链表。Set集合强调元素唯一性,包括HashSet和TreeSet两种实现,前者基于哈希表,后者基于红黑树。Queue表示队列,支持单端或双端操作,常用实现有ArrayDeque和LinkedList。Map集合存储键值对,HashMap基于哈希表实现,支持高效访问,而TreeMap基于红黑树实现,提供有序键值对存储。
Zookeeper与分布式理论
Zookeeper与分布式理论 Part1 分布式一致性 通信故障、请求三态(成功、失败、超时)、节点故障等,这些问题会导致一系例数据不一致的问题,那么分布式一致性算法就是用来解决这个问题的。 理论是指导业界实现的纲领,也是提炼了多年研究的精华,在分布式一致性领域,最主要的指导理论是CAP和BASE
Redis集群
Redis集群 Redis为了保证高可用/提高性能,需要将多个Redis节点作为集群处理,那么常见的方法有三种:主从复制、哨兵模式、集群模式。 主从复制 主从复制是Redis的一种基本集群模式,它通过将一个Redis节点(主节点)的数据复制到一个或多个其他Redis节点(从节点)来实现数据的冗余和备
JVM面经
JVM面经 内存管理 JDK1.8: 虚拟机栈+本地方法栈 内容:类似其他语言 堆 线程共享的,里面装着所有的对象(现代编译器会进行一定的优化,一部分对象会直接放到栈里面)。 Java 堆从 GC 的角度还可以细分为:新生代(Eden 区、SurvivorFrom 区和 SurvivorTo 区)和
Redis面经
Redis面经 Redis为什么快? MemBased、单线程事件循环和 IO 多路复用 Redis数据类型 目前:五种基本、三张特殊 Redis 共有 5 种基本数据类型:String(字符串)、List(列表)、Set(集合)、Hash(散列)、Zset(有序集合)。 Redis 还支持 3 种