编程语言 进程间通信之信号量 一、信号量 信号量有两种,一种的有名信号,一种是无名信号。有名信号一般用于进程间同步,无名信号一般用于于线程间同步。创建或打开一个信号的函数: [crayon-6821a710dbaf35733804... 02 月 23 日435评论 阅读全文
Shell [leetcode-shell]192-统计词频 来源:力扣 (LeetCode) 链接:https://leetcode-cn.com/problems/word-frequency 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处... 02 月 21 日274评论leetcode 阅读全文
Shell [leetcode-shell]195-第十行 来源:力扣 (LeetCode) 链接:https://leetcode-cn.com/problems/tenth-line 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。 一、... 02 月 21 日333评论leetcode 阅读全文
C/C++ EAGAIN 和 EWOULDBLOCK 的处理办法 EAGAIN 和 EWOULDBLOCK 是 linux 环境下的两个错误码,在非阻塞 IO 中经常会碰到,对新手而言,如何处理这两个值非常头疼。如果处理不当,很容易导致程序异常。 EAGAIN 的官方定义: 「Re... 02 月 20 日8,085评论 阅读全文
MySQL MySQL 中的聚簇索引、非聚簇索引、联合索引和唯一索引 一、索引类型 索引根据底层实现可分为 B-Tree 索引和哈希索引,大部分时候我们使用的都是 B-Tree 索引,因为它良好的性能和特性更适合于构建高并发系统。 根据索引的存储方式来划分,索引可以分为聚簇索引... 02 月 19 日5,6044索引 阅读全文
Redis redis 中的 AOF 持久化和 RDB 持久化 一、 AOF 持久化 1.1 实现机制 AOF(Append Only File) 是 redis 持久化方式的一种,它通过把所有 redis 执行过的命令都写入到文件来维持持久化。一旦服务崩溃,则可以重放这些命令... 02 月 17 日802评论 阅读全文
Redis redis 中的键值淘汰策略 当使用的内存到达上限后,redis 提供了 6 种策略来淘汰键值: 策略 描述 volatile-lru 在所有设置了过期时间的键值中根据 LRU 算法淘汰最近最少使用的 allkeys-lru 对数据库中所有... 02 月 17 日407评论 阅读全文
MySQL MySQL 中的 B+树索引和哈希索引 一、为什么要使用索引 索引是存储引擎用于快速找到记录的一种数据结构。索引对于数据库良好的性能十分关键,尤其是表中的数据量越来越大时,索引对性能的影响十分明显。 《高性能 MySQL 》中对索引的评价是:索... 02 月 16 日838评论索引 阅读全文
Redis redis 源码分析:链表实现 一、链表定义 链表在 redis 中的使用十分广泛,例如列表的底层实现之一就是链表,包括发布、订阅等等功能都是有用到链表的。 redis 中链表在 adlist.h 和 adlist.c 中实现,只用了 300+行代码... 02 月 14 日555评论redis 链表 阅读全文