Bat-KV: Cơ sở dữ liệu Key-Value nhẹ cho Windows Batch (.bat)
Windows batch scripting thường gặp khó khăn, đặc biệt trong việc lưu trữ dữ liệu đơn giản. Bat-KV là một cơ sở dữ liệu key-value mã nguồn mở, thiết kế cho các script .bat, cung cấp các thao tác CRUD cơ bản, bao gồm một số API đơn giản và dễ sử dụng.
Nếu dự án này hữu ích cho bạn, hãy dành cho nó một Star trên GitHub.
Tổng quan về Bat-KV
1. Tệp lưu trữ
- Đuôi tệp:
.bkv(Batch Key-Value) - Định dạng: Một cặp key-value trên mỗi dòng, được phân tách bởi dấu gạch chéo ngược
\
username\Alice
age\25
city\Beijing
- Tên tệp mặc định:
_BATKV.bkv - Mã hóa: ANSI được khuyến nghị để tương thích nền tảng
- Ràng buộc key:
- Chỉ cho phép chữ cái tiếng Anh, chữ số và dấu gạch dưới
- Độ dài tối đa 36 ký tự
- Nhạy với chữ hoa chữ thường
2. Quy tắc đặt tên
- Hàm công khai: Bắt đầu bằng
BKV., ví dụ:BKV.New,BKV.Fetch - Hàm riêng: Bắt đầu bằng
BKV.Private., không dành cho sử dụng bên ngoài - Biến nội bộ: Bắt đầu bằng
BKV.Inner., không dành cho truy cập bên ngoài - Biến trả về:
BKV_STATUS: Kết quả thực thi (OK/NotOK)BKV_RESULT: Dữ liệu trả về từ các truy vấn (ví dụ: giá trịBKV.Fetch)BKV_ERR: Chi tiết lỗi nếu xảy ra lỗi, định dạngBat-KV ERR: [message]
Tải xuống & Cài đặt
1. Cách lấy Bat-KV
- Truy cập trang phát hành GitHub
- Tải xuống
Bat-KV.zip - Giải nén và tìm tệp chính
Bat-KV.bat
2. Nhập khẩu
- Sử dụng cục bộ: Đặt
Bat-KV.battrong cùng thư mục với script batch của bạn, gọi nó trực tiếp - Đường dẫn tương đối: Nếu tệp nằm trong thư mục con hoặc thư mục cha, thêm tiền tố đường dẫn
- Sử dụng toàn cầu: Thêm thư mục chứa
Bat-KV.batvào biến môi trường PATH của hệ thống
Ví dụ:
REM Thư mục hiện tại
call Bat-KV.bat :BKV.New
REM Thư mục con
call lib\Bat-KV.bat :BKV.New "mydata.bkv"
REM Thư mục cha
call ..\Bat-KV.bat :BKV.Fetch "username"
Bắt đầu nhanh
Một ví dụ tối giản bao gồm tạo một cơ sở dữ liệu, ghi, đọc và xóa dữ liệu:
@echo off
REM Tạo cơ sở dữ liệu
call Bat-KV.bat :BKV.New
echo Trạng thái tạo: %BKV_STATUS%
REM Chèn dữ liệu
call Bat-KV.bat :BKV.Append "name" "Alice"
call Bat-KV.bat :BKV.Append "age" "25"
REM Đọc dữ liệu
call Bat-KV.bat :BKV.Fetch "name"
echo Tên: %BKV_RESULT%
REM Kiểm tra sự tồn tại của key
call Bat-KV.bat :BKV.Include "email"
if "%BKV_RESULT%"=="No" (
call Bat-KV.bat :BKV.Append "email" "alice@example.com"
)
REM Xóa dữ liệu
call Bat-KV.bat :BKV.Remove "age"
echo Trạng thái xóa: %BKV_STATUS%
pause
Tham chiếu nhanh API
1. BKV.New
Tạo một tệp cơ sở dữ liệu mới. Các tệp hiện có sẽ không bị ghi đè.
call Bat-KV.bat :BKV.New "config.bkv"
2. BKV.Append
Chèn hoặc cập nhật một cặp key-value.
call Bat-KV.bat :BKV.Append "username" "Alice"
3. BKV.Fetch
Đọc giá trị của một key đã cho.
call Bat-KV.bat :BKV.Fetch "username"
echo Người dùng: %BKV_RESULT%
4. BKV.Remove
Xóa một cặp key-value. Trả về thành công ngay cả khi key không tồn tại.
call Bat-KV.bat :BKV.Remove "username"
5. BKV.Include
Kiểm tra xem một key có tồn tại hay không.
call Bat-KV.bat :BKV.Include "db_host"
if "%BKV_RESULT%"=="No" (
call Bat-KV.bat :BKV.Append "db_host" "localhost"
)
Tài liệu đầy đủ
Để biết tài liệu đầy đủ và các chương trình ví dụ, hãy tham khảo kho lưu trữ chính trên GitHub và các script đính kèm trong phát hành.
Thực hành tốt nhất
- Kiểm tra lỗi: Luôn kiểm tra
BKV_STATUSsau mỗi thao tác để xử lý lỗi kịp thời. - Quản lý phiên bản: Sử dụng các tệp khác nhau cho các phiên bản khác nhau của dữ liệu để tránh mất mát thông tin.
Những cạm bẫy thường gặp
- Lỗi cú pháp: Đảm bảo các cặp key-value được định dạng chính xác để tránh lỗi trong quá trình đọc.
- Xử lý dữ liệu trống: Kiểm tra dữ liệu trả về có giá trị hay không trước khi sử dụng.
Mẹo hiệu suất
- Giảm tải các thao tác đọc: Tối ưu hóa cấu trúc dữ liệu để giảm thiểu số lần gọi đến cơ sở dữ liệu.
- Sử dụng bộ nhớ đệm: Giảm thiểu số lần truy cập tệp bằng cách lưu trữ dữ liệu tạm thời.
Giải quyết sự cố
- Không tìm thấy key: Nếu không tìm thấy key, hãy đảm bảo rằng key đã được tạo trước đó.
Câu hỏi thường gặp (FAQ)
1. Bat-KV có hỗ trợ nhiều người dùng không?
Bat-KV không hỗ trợ nhiều người dùng đồng thời; nó phù hợp cho các ứng dụng đơn giản và cá nhân.
2. Có thể mở rộng Bat-KV không?
Bat-KV được thiết kế cho các tác vụ đơn giản, không lý tưởng cho các ứng dụng quy mô lớn hoặc phức tạp.
3. Có cách nào để sao lưu dữ liệu không?
Bạn có thể sao chép tệp .bkv để lưu trữ dữ liệu của mình.
4. Tại sao tôi không thấy dữ liệu tôi đã chèn?
Hãy kiểm tra lại cú pháp bạn đã sử dụng và đảm bảo bạn đã gọi đúng hàm.
Hy vọng bài viết này sẽ giúp bạn làm quen với Bat-KV và tận dụng tối đa các tính năng của nó trong các dự án batch của mình. Hãy thử ngay hôm nay và chia sẻ trải nghiệm của bạn với cộng đồng!