RocksDB使用入门macOS Big Sur (11.6.6)

这篇文章就简单介绍怎么在macOS下使用RocksDB。

1. RocksDB简要介绍

RocksDB是一个可嵌入的、持久型的Key-Value存储。

不像MySQL,PostgreSQL这样数据库分客户端与服务器端。实际上,可以把它当作一个第三方库,在自己的代码中进行引用,调用相应的接口就可以使用,比如使用C/C++语言,直接在源代码中include相应的头文件就可以。

与嵌入式数据库SQLite的使用比较类似。

目前: RocksDB使用LSM存储引擎,纯C++编写。Java版本RocksJava也已经完美支持。

更多有关RocksDB的介绍参考:

关于RocksDB的详细使用介绍:

2. RocksDB 安装

macOS上安装RocksDB非常简单,不用单独安装其他任何依赖。直接使用brew工具安装即可。

$ brew install rocksdb

可以运行一下命令来查看安装信息。

$ brew info rocksdb

安装结果如下。

$ brew info rocksdb
rocksdb: stable 7.0.3 (bottled), HEAD
Embeddable, persistent key-value store for fast storage
https://rocksdb.org/
/usr/local/Cellar/rocksdb/7.0.3 (138 files, 40.4MB) *
  Poured from bottle on 2022-06-20 at 14:18:52
From: https://mirrors.ustc.edu.cn/homebrew-core.git/Formula/rocksdb.rb
License: GPL-2.0-only or Apache-2.0
==> Dependencies
Build: cmake ✔
Required: gflags ✔, lz4 ✔, snappy ✔, zstd ✔
==> Options
--HEAD
	Install HEAD version
==> Analytics
install: 605 (30 days), 2,584 (90 days), 12,941 (365 days)
install-on-request: 561 (30 days), 2,247 (90 days), 10,385 (365 days)
build-error: 1 (30 days)

其他操作系统上的安装可以参考:

3. 使用示例

代码目录:

  • main.cpp
  • Makefile

main.cpp文件内容:

#include <iostream>
#include <cassert>
#include "rocksdb/db.h"

using namespace std;

int main() {
    rocksdb::DB* db;
    rocksdb::Options options;
    options.create_if_missing = true;
    rocksdb::Status status = rocksdb::DB::Open(options, "/tmp/testdb", &db);
    assert(status.ok());
    cout << "Open rocksdb success." << endl;

    string key1 = "1";
    string value1 = "aaaaa";
    status = db->Put(rocksdb::WriteOptions(), key1, value1);
    assert(status.ok());
    printf("Put[%s,%s] success.\n", key1.c_str(), value1.c_str());
    
    string value;
    status = db->Get(rocksdb::ReadOptions(), key1, &value);
    assert(status.ok());
    printf("Put key[%s] = %s\n", key1.c_str(), value.c_str());

    status = db->Delete(rocksdb::WriteOptions(), key1);
    assert(status.ok());
    printf("Delete key[%s] success.\n", key1.c_str());

    delete db;

    return 0;
}

Makefile文件内容:

CXX=g++ -std=c++11
CXXFLAGS=-lrocksdb  # 注意添加链接库

all: main

main: main.cpp
	$(CXX) $(CXXFLAGS) -o $@ $< 

run: main
	./main

clean:
	rm -f main *.o

运行结果:

make run
g++ -std=c++11 -lrocksdb   -o main main.cpp 
./main
Open rocksdb success.
Put[1,aaaaa] success.
Put key[1] = aaaaa
Delete key[1] success.
编译时需要注意两点:
  • 支持C11, 添加选项-std=c++11
  • 添加链接库: -lrocksdb

参考链接


RocksDB使用入门 Mac

丰田RAV4 2016款空调滤芯更换以及安装方向

丰田RAV4 2016款空调滤芯更换教程:

1. 不带智能进入和起动系统的车辆:将发动机开关切换至“LOCK”位置。带智能进入和起动系统的车辆:关闭发动机开关。

2. 提起并取出隔板。

3. 拆下手套箱盖。

4. 拆下滤清器盖。

5. 拆下空调滤清器并更换为新滤清器。滤清器上的“↑UP”标记应朝上。

■更换间隔

根据保养计划,检查并更换空调滤清器。在多尘或交通繁忙的地区,更换间隔

可能需要缩短。

■如果通风口的气流明显减弱

滤清器可能堵塞。检查滤清器,如有必要进行更换。

■使用空调系统时

确保滤清器已安装。

使用不带滤清器的空调系统可能会损坏系统。

原厂滤芯的实际安装朝向如下:

博世等标注气流方向的滤芯的实际安装朝向如下:

也就是与原厂的滤芯的箭头方向相反,保证文字都是正的即可。

注意滤芯是长方形的,原厂的文字是印刻在短边的一侧。买的滤芯文字可能印在了长边一侧,这个时候我们需要转一下方向,不要强行把有文字的一侧露在外面。滤芯是很容易插入的。

参考链接