一、索引类型
索引根据底层实现可分为 B-Tree 索引和哈希索引,大部分时候我们使用的都是 B-Tree 索引,因为它良好的性能和特性更适合于构建高并发系统。
根据索引的存储方式来划分,索引可以分为聚簇索引和非聚簇索引。聚簇索引的特点是叶子节点包含了完整的记录行,而非聚簇索引的叶子节点只有所以字段和主键 ID 。
根据聚簇索引和非聚簇索引还能继续下分还能分为普通索引、覆盖索引、唯一索引以及联合索引等。
一连阴了半个月的深圳,终于出了大太阳。 希望疫情早日过去。
来源:力扣 (LeetCode) 链接:https://leetcode-cn.com/problems/word-frequency 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。 一、题目描述 写一个 bash 脚本以统计一个文本文件 words.txt 中每个单词出现的频率 ... 阅读更多
来源:力扣 (LeetCode) 链接:https://leetcode-cn.com/problems/tenth-line 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。 一、题目描述 给定一个文本文件 file.txt,请只打印这个文件中的第十行。 示例: 假设 file. ... 阅读更多
EAGAIN 和 EWOULDBLOCK 是 linux 环境下的两个错误码,在非阻塞 IO 中经常会碰到,对新手而言,如何处理这两个值非常头疼。如果处理不当,很容易导致程序异常。 EAGAIN 的官方定义: 「Resource temporarily unavailable.」 The call might wo ... 阅读更多
索引根据底层实现可分为 B-Tree 索引和哈希索引,大部分时候我们使用的都是 B-Tree 索引,因为它良好的性能和特性更适合于构建高并发系统。
根据索引的存储方式来划分,索引可以分为聚簇索引和非聚簇索引。聚簇索引的特点是叶子节点包含了完整的记录行,而非聚簇索引的叶子节点只有所以字段和主键 ID 。
根据聚簇索引和非聚簇索引还能继续下分还能分为普通索引、覆盖索引、唯一索引以及联合索引等。
一、 AOF 持久化 1.1 实现机制 AOF(Append Only File) 是 redis 持久化方式的一种,它通过把所有 redis 执行过的命令都写入到文件来维持持久化。一旦服务崩溃,则可以重放这些命令来恢复服务数据。 例如,在 redis 上执行下面 2 条语句: [crayon-6947ffa8312ab ... 阅读更多
当使用的内存到达上限后,redis 提供了 6 种策略来淘汰键值: 策略 描述 volatile-lru 在所有设置了过期时间的键值中根据 LRU 算法淘汰最近最少使用的 allkeys-lru 对数据库中所有元素根据 LRU 算法淘汰最近最少使用的 volatile-random 从设置了过期时间的元素中随机淘 ... 阅读更多
一、为什么要使用索引 索引是存储引擎用于快速找到记录的一种数据结构。索引对于数据库良好的性能十分关键,尤其是表中的数据量越来越大时,索引对性能的影响十分明显。 《高性能 MySQL 》中对索引的评价是:索引优化应该是对查询性能优化最有效的手段了,索引能够轻而易举将查询性能提高几个数量级。 以 innodb ... 阅读更多
一、链表定义 链表在 redis 中的使用十分广泛,例如列表的底层实现之一就是链表,包括发布、订阅等等功能都是有用到链表的。 redis 中链表在 adlist.h 和 adlist.c 中实现,只用了 300+行代码,十分简单。 redis 中的链表是一个双向不循环的链表,两个核心的数据结构是 listNode 和 lis ... 阅读更多