---
title: "Xianyu Sheng (@xianyu-sheng) | Hashnode"
description: "Xianyu Sheng (@xianyu-sheng) writes on Hashnode. Read their latest articles and follow their work."
url: "https://hashnode.com/@xianyu-sheng"
---

@xianyu-sheng

# Xianyu Sheng

@xianyu-sheng · Joined January 2026

### [Redis学习](https://xianyu-sheng.hashnode.dev/redis?utm_source=hashnode&utm_medium=feed)

1.什么是SSD HDD作为存储传统的数据库？ SSD：固态硬盘---使用闪存芯片存储数据 无机械部件 特点：读写速度快（尤其是随机读写）、延迟低、抗震性好，但单位容量成本较高。 HDD：机械硬盘--传统机械硬盘 特点：容量大、成本低，但读写速度较慢（尤其是随机读写），延迟高。 2.什么是非易失性持久化 非易失性持久化 = 靠谱的硬件 (断电不丢数据的 SSD/PMEM) + 严谨的软件策略 (确

1 min read · [xianyu-sheng.hashnode.dev](https://xianyu-sheng.hashnode.dev/redis?utm_source=hashnode&utm_medium=feed)

[Mar 4](https://hashnode.com/posts/redis/69a7a18b56428acc6f296aa5)

### [分布式存储系统面试问题解析](https://xianyu-sheng.hashnode.dev/6z2i6kv6zeu6aky6kej5p6q?utm_source=hashnode&utm_medium=feed)

共识算法剖析 raft共识算法 1.在你的 C++ 实现中，如果 Leader 发送 AppendEntries 给 Follower，但 Follower 的日志落后太多（比如中间缺了 100 条），Raft 论文建议是一个一个往前找（nextIndex--）。这种做法在高性能存储中显然是不可接受的，你会如何优化这个“回溯”过程？ 在工程实现中，我会从两个维度优化日志冲突后的同步效率： 1. 快

13 min read · [xianyu-sheng.hashnode.dev](https://xianyu-sheng.hashnode.dev/6z2i6kv6zeu6aky6kej5p6q?utm_source=hashnode&utm_medium=feed)

[Feb 9](https://hashnode.com/posts/6z2i6kv6zeu6aky6kej5p6q/6989c0b449824b0649513215)

### [Unix环境编程：杂谈](https://xianyu-sheng.hashnode.dev/unix-1?utm_source=hashnode&utm_medium=feed)

动态加载 API 进程管理 什么是进程 进程的创建 进程的终止与遗言函数 进程资源回收 进程的映像更新 ps -o pid,ppid,pgrp,comm 这个linux命令是将当前终端上运行的进程打印出来 进程中使用环境变量 子进程环境变量改变 不会更改父进程的环境变量 进程间通信 有名管道不存储数据 其本身大小为 0 当一个进程写入数据进去时 如果没有进程读取数据那么该写进程就会堵塞在哪里 同理 如果读进程想要读取数据 但是却没有数据...

3 min read · [xianyu-sheng.hashnode.dev](https://xianyu-sheng.hashnode.dev/unix-1?utm_source=hashnode&utm_medium=feed)

[Jan 30](https://hashnode.com/posts/unix-1/697c630718cf5c82ad5afa87)

### [Unix环境编程：第一章](https://xianyu-sheng.hashnode.dev/unix?utm_source=hashnode&utm_medium=feed)

1.1操作系统的介绍 1.2 计算机系统的分层 1.3 编译过程 ?上一个命令的运行结果 echo 就是输出上一个命令的运行结果 哎linux环境下文件中查找一个元素 即在命令模式下 输入/+你要查找的字符 即/printf 这样 然后找到之后 n表示查找下一条 shift+n表示上一条 file+文件名 查=查看文件是否可运行 1.4 多模块开发 变量的定义是为变量扩充作用域 而变量的声明需要为变量内存空间 gcc -c 文件 检验是否存在语法错误 nm 目标文...

1 min read · [xianyu-sheng.hashnode.dev](https://xianyu-sheng.hashnode.dev/unix?utm_source=hashnode&utm_medium=feed)

[Jan 30](https://hashnode.com/posts/unix/697c254eb03e8d4ed53474fa)

### [C++ Stl杂项](https://xianyu-sheng.hashnode.dev/c-stl?utm_source=hashnode&utm_medium=feed)

迭代器特性 输入流的容器特性 迭代器对算法的影响 仿函数和函数对象 分配器 对于平常的我们内存的使用，直接使用new delete 即可 使用分配器的话还需要记住自己当时申请了多少的内存 很不方便 哈希表深度探索 哈希容器 哈希表在扩充时，会先将自身大小乘以2 然后在选择自身2倍距离最近的一个质数 作为新的大小 哈希函数 以哈希表为底层支撑的适配器 红黑树 容器 list容器 forward\_list 对于标准库，其本身提供一个sort排序函数，但某些容器也提供sort服务...

1 min read · [xianyu-sheng.hashnode.dev](https://xianyu-sheng.hashnode.dev/c-stl?utm_source=hashnode&utm_medium=feed)

[Jan 29](https://hashnode.com/posts/c-stl/697b355eaa8052f1303e6545)
