LevelDB 学习笔记第4部分,读写操作如何实现?
- 内容介绍
- 文章标签
- 相关推荐
本文共计507个文字,预计阅读时间需要3分钟。
LevelDB 学习笔记4:读写操作
读写操作是LevelDB的核心功能。以下是读写操作的基本内容和注意事项:
1. 读写操作参考
- 读取:LevelDB Handbook- 写操作:LevelDB 操作手册
2. 写操作步骤
- 分为两步:
- 写日志:将操作写入日志文件,防止数据丢失 - 异步写入:将数据写入内存的缓冲区,然后异步写入磁盘
3. 日志记录
- 日志记录可以防止数据在机器宕机时丢失- 但如果写操作是异步的,日志可能记录在操作系统的缓存中,而不是直接写入磁盘
4. 异步写操作
- 异步写操作可以提高性能,但可能存在数据丢失的风险- 如果是异步写操作,日志可能没有记录完整,导致数据丢失- 但如果是异步写操作,日志可能没有记录完整,导致数据丢失,而实际数据可能还在操作系统的缓存中
LevelDB 学习笔记4:读写部分内容参考 LevelDB Handbook
写操作写操作分为两步
- 先写日志
- 可以防止宕机时内存数据的丢失
- 但如果是异步写,日志可能没有落盘,而是在操作系统的缓存里,如果操作系统宕机,就会丢失这些日志
- 再写到内存数据库中
LevelDB 提供两种写操作
Status Put(const WriteOptions& options,
const Slice& key,const Slice& value);
Status Delete(const WriteOptions& options, const Slice& key);
Delete 会被转换为 value 为空的 Put 操作
- 插入记录的类型会被标记为删除操作
- 但真正的删除操作发生在合并的时候
本文共计507个文字,预计阅读时间需要3分钟。
LevelDB 学习笔记4:读写操作
读写操作是LevelDB的核心功能。以下是读写操作的基本内容和注意事项:
1. 读写操作参考
- 读取:LevelDB Handbook- 写操作:LevelDB 操作手册
2. 写操作步骤
- 分为两步:
- 写日志:将操作写入日志文件,防止数据丢失 - 异步写入:将数据写入内存的缓冲区,然后异步写入磁盘
3. 日志记录
- 日志记录可以防止数据在机器宕机时丢失- 但如果写操作是异步的,日志可能记录在操作系统的缓存中,而不是直接写入磁盘
4. 异步写操作
- 异步写操作可以提高性能,但可能存在数据丢失的风险- 如果是异步写操作,日志可能没有记录完整,导致数据丢失- 但如果是异步写操作,日志可能没有记录完整,导致数据丢失,而实际数据可能还在操作系统的缓存中
LevelDB 学习笔记4:读写部分内容参考 LevelDB Handbook
写操作写操作分为两步
- 先写日志
- 可以防止宕机时内存数据的丢失
- 但如果是异步写,日志可能没有落盘,而是在操作系统的缓存里,如果操作系统宕机,就会丢失这些日志
- 再写到内存数据库中
LevelDB 提供两种写操作
Status Put(const WriteOptions& options,
const Slice& key,const Slice& value);
Status Delete(const WriteOptions& options, const Slice& key);
Delete 会被转换为 value 为空的 Put 操作
- 插入记录的类型会被标记为删除操作
- 但真正的删除操作发生在合并的时候

