中文版本请参看这里
MMKV adalah kerangka penyimpanan nilai kunci seluler yang efisien , kecil , dan mudah digunakan yang digunakan dalam aplikasi WeChat. Saat ini tersedia di Android , iOS/macOS , Windows , POSIX dan HarmonyOS NEXT .
Efisien . MMKV menggunakan mmap untuk menjaga sinkronisasi memori dengan file, dan protobuf untuk menyandikan/mendekode nilai, memanfaatkan Android semaksimal mungkin untuk mencapai kinerja terbaik.
Mudah digunakan . Anda dapat menggunakan MMKV saat bepergian. Semua perubahan segera disimpan, tidak ada sync
, tidak perlu apply
panggilan.
Kecil .
Tambahkan baris berikut ke build.gradle
pada modul aplikasi Anda:
dependencies {
implementation ' com.tencent:mmkv:2.0.1 '
// replace "2.0.1" with any available version
}
Untuk opsi penginstalan lainnya, lihat Penyiapan Android.
Anda dapat menggunakan MMKV saat bepergian. Semua perubahan segera disimpan, tidak ada sync
, tidak perlu apply
panggilan.
Siapkan MMKV pada startup Aplikasi, ucapkan kelas Application
Anda, tambahkan baris ini:
public void onCreate () {
super . onCreate ();
String rootDir = MMKV . initialize ( this );
System . out . println ( "mmkv root: " + rootDir );
//……
}
MMKV memiliki contoh global, yang dapat digunakan secara langsung:
import com . tencent . mmkv . MMKV ;
MMKV kv = MMKV . defaultMMKV ();
kv . encode ( "bool" , true );
boolean bValue = kv . decodeBool ( "bool" );
kv . encode ( "int" , Integer . MIN_VALUE );
int iValue = kv . decodeInt ( "int" );
kv . encode ( "string" , "Hello from mmkv" );
String str = kv . decodeString ( "string" );
MMKV juga mendukung Akses Multi-Proses . Tutorial lengkap dapat ditemukan di sini Tutorial Android.
Menulis int
acak sebanyak 1000 kali, kita mendapatkan grafik ini:
Untuk data benchmark lebih lanjut, silakan merujuk ke benchmark kami.
Efisien . MMKV menggunakan mmap untuk menjaga sinkronisasi memori dengan file, dan protobuf untuk menyandikan/mendekode nilai, memanfaatkan iOS/macOS semaksimal mungkin untuk mencapai kinerja terbaik.
Mudah digunakan . Anda dapat menggunakan MMKV saat bepergian, tidak diperlukan konfigurasi. Semua perubahan segera disimpan, tidak diperlukan panggilan synchronize
.
Kecil .
cd
ke direktori proyek Anda, jalankan pod repo update
untuk membuat CocoaPods mengetahui versi MMKV terbaru yang tersedia;pod 'MMKV'
ke target aplikasi Anda;pod install
;.xcworkspace
yang dihasilkan oleh CocoaPods;#import <MMKV/MMKV.h>
ke file sumber Anda dan selesai.Untuk opsi instalasi lainnya, lihat Pengaturan iOS/macOS.
Anda dapat menggunakan MMKV saat bepergian, tidak diperlukan konfigurasi. Semua perubahan segera disimpan, tidak diperlukan panggilan synchronize
. Siapkan MMKV pada startup Aplikasi, di -[MyApp application: didFinishLaunchingWithOptions:]
Anda, tambahkan baris ini:
- ( BOOL )application:(UIApplication *)application didFinishLaunchingWithOptions:( NSDictionary *)launchOptions {
// init MMKV in the main thread
[MMKV initializeMMKV: nil ];
// ...
return YES ;
}
MMKV memiliki contoh global, yang dapat digunakan secara langsung:
MMKV *mmkv = [MMKV defaultMMKV ];
[mmkv setBool: YES forKey: @" bool " ];
BOOL bValue = [mmkv getBoolForKey: @" bool " ];
[mmkv setInt32: - 1024 forKey: @" int32 " ];
int32_t iValue = [mmkv getInt32ForKey: @" int32 " ];
[mmkv setString: @" hello, mmkv " forKey: @" string " ];
NSString *str = [mmkv getStringForKey: @" string " ];
MMKV juga mendukung Akses Multi-Proses . Tutorial lengkap dapat ditemukan di sini.
Menulis int
acak sebanyak 10.000 kali, kita mendapatkan grafik ini:
Untuk data benchmark lebih lanjut, silakan merujuk ke benchmark kami.
Efisien . MMKV menggunakan mmap untuk menjaga sinkronisasi memori dengan file, dan protobuf untuk menyandikan/mendekode nilai, memanfaatkan Windows semaksimal mungkin untuk mencapai kinerja terbaik.
Mudah digunakan . Anda dapat menggunakan MMKV saat bepergian. Semua perubahan segera disimpan, tidak perlu save
, tidak perlu panggilan sync
.
Kecil .
Mendapatkan kode sumber dari repositori git:
git clone https://github.com/Tencent/MMKV.git
Tambahkan Core/core.vcxproj
ke solusi Anda;
Tambahkan proyek MMKV
ke dependensi proyek Anda;
Tambahkan $(OutDir)include
ke C/C++
proyek Anda -> General
-> Additional Include Directories
;
Tambahkan $(OutDir)
ke Linker
-> General
-> Additional Library Directories
proyek Anda;
Tambahkan mmkv.lib
ke Linker
-> Input
-> Additional Dependencies
proyek Anda;
Tambahkan #include <MMKV/MMKV.h>
ke file sumber Anda dan selesai.
catatan:
MT/MTd
secara default. Jika proyek Anda menggunakan MD/MDd
, Anda harus mengubah pengaturan MMKV agar sesuai dengan proyek Anda ( C/C++
-> Code Generation
-> Runtime Library
), atau sebaliknya.Platform Toolset
jika Anda menggunakan versi Visual Studio yang berbeda.Untuk opsi instalasi lainnya, lihat Pengaturan Windows.
Anda dapat menggunakan MMKV saat bepergian. Semua perubahan segera disimpan, tidak perlu sync
, tidak perlu panggilan save
.
Siapkan MMKV pada startup Aplikasi, misalnya di main()
Anda, tambahkan baris ini:
# include < MMKV/MMKV.h >
int main () {
std::wstring rootDir = getYourAppDocumentDir ();
MMKV::initializeMMKV (rootDir);
// ...
}
MMKV memiliki contoh global, yang dapat digunakan secara langsung:
auto mmkv = MMKV::defaultMMKV();
mmkv-> set ( true , " bool " );
std::cout << " bool = " << mmkv-> getBool ( " bool " ) << std::endl;
mmkv-> set ( 1024 , " int32 " );
std::cout << " int32 = " << mmkv-> getInt32 ( " int32 " ) << std::endl;
mmkv-> set ( " Hello, MMKV for Windows " , " string " );
std::string result;
mmkv-> getString ( " string " , result);
std::cout << " string = " << result << std::endl;
MMKV juga mendukung Akses Multi-Proses . Tutorial lengkap dapat ditemukan di sini Tutorial Windows.
Efisien . MMKV menggunakan mmap untuk menjaga memori tetap tersinkronisasi dengan file, dan protobuf untuk menyandikan/mendekode nilai, memanfaatkan POSIX semaksimal mungkin untuk mencapai kinerja terbaik.
Mudah digunakan . Anda dapat menggunakan MMKV saat bepergian. Semua perubahan segera disimpan, tidak perlu save
, tidak perlu panggilan sync
.
Kecil .
Mendapatkan kode sumber dari repositori git:
git clone https://github.com/Tencent/MMKV.git
Edit CMakeLists.txt
Anda, tambahkan baris berikut:
add_subdirectory (mmkv/POSIX/src mmkv)
target_link_libraries (MyApp
mmkv)
Tambahkan #include "MMKV.h"
ke file sumber Anda dan selesai.
Untuk opsi instalasi lainnya, lihat Pengaturan POSIX.
Anda dapat menggunakan MMKV saat bepergian. Semua perubahan segera disimpan, tidak perlu sync
, tidak perlu panggilan save
.
Siapkan MMKV pada startup Aplikasi, misalnya di main()
Anda, tambahkan baris ini:
# include " MMKV.h "
int main () {
std::string rootDir = getYourAppDocumentDir ();
MMKV::initializeMMKV (rootDir);
// ...
}
MMKV memiliki contoh global, yang dapat digunakan secara langsung:
auto mmkv = MMKV::defaultMMKV();
mmkv-> set ( true , " bool " );
std::cout << " bool = " << mmkv-> getBool ( " bool " ) << std::endl;
mmkv-> set ( 1024 , " int32 " );
std::cout << " int32 = " << mmkv-> getInt32 ( " int32 " ) << std::endl;
mmkv-> set ( " Hello, MMKV for Windows " , " string " );
std::string result;
mmkv-> getString ( " string " , result);
std::cout << " string = " << result << std::endl;
MMKV juga mendukung Akses Multi-Proses . Tutorial lengkap dapat ditemukan di sini Tutorial POSIX.
Efisien . MMKV menggunakan mmap untuk menjaga sinkronisasi memori dengan file, dan protobuf untuk menyandikan/mendekode nilai, memanfaatkan platform asli semaksimal mungkin untuk mencapai kinerja terbaik.
Mudah digunakan . Anda dapat menggunakan MMKV saat bepergian. Semua perubahan segera disimpan, tidak perlu sync
, tidak perlu panggilan flush
.
Kecil .
ohpm install @tencent/mmkv
Anda dapat menggunakan MMKV saat bepergian. Semua perubahan segera disimpan, tidak ada sync
, tidak perlu apply
panggilan.
Siapkan MMKV pada startup Aplikasi, ucapkan fungsi EntryAbility.onCreate()
Anda, tambahkan baris ini:
import { MMKV } from '@tencent/mmkv' ;
export default class EntryAbility extends UIAbility {
onCreate ( want : Want , launchParam : AbilityConstant . LaunchParam ) : void {
let appCtx = this . context . getApplicationContext ( ) ;
let mmkvRootDir = MMKV . initialize ( appCtx ) ;
console . info ( 'mmkv rootDir: ' , mmkvRootDir ) ;
……
}
MMKV memiliki contoh global, yang dapat digunakan secara langsung:
import { MMKV } from '@tencent/mmkv' ;
let mmkv = MMKV . defaultMMKV ( ) ;
mmkv . encodeBool ( 'bool' , true ) ;
console . info ( 'bool = ' , mmkv . decodeBool ( 'bool' ) ) ;
mmkv . encodeInt32 ( 'int32' , Math . pow ( 2 , 31 ) - 1 ) ;
console . info ( 'max int32 = ' , mmkv . decodeInt32 ( 'int32' ) ) ;
mmkv . encodeInt64 ( 'int' , BigInt ( 2 ** 63 ) - BigInt ( 1 ) ) ;
console . info ( 'max int64 = ' , mmkv . decodeInt64 ( 'int' ) ) ;
let str : string = 'Hello OpenHarmony from MMKV' ;
mmkv . encodeString ( 'string' , str ) ;
console . info ( 'string = ' , mmkv . decodeString ( 'string' ) ) ;
let arrayBuffer : ArrayBuffer = StringToArrayBuffer ( 'Hello OpenHarmony from MMKV with bytes' ) ;
mmkv . encodeBytes ( 'bytes' , arrayBuffer ) ;
let bytes = mmkv . decodeBytes ( 'bytes' ) ;
console . info ( 'bytes = ' , ArrayBufferToString ( bytes ) ) ;
Seperti yang Anda lihat, MMKV cukup mudah digunakan. Untuk dokumentasi selengkapnya, lihat Tutorial HarmonyOS BERIKUTNYA.
MMKV diterbitkan di bawah lisensi BSD 3-Clause. Untuk detailnya, lihat LICENSE.TXT.
Lihat CHANGELOG.md untuk detail riwayat perubahan.
Jika Anda tertarik untuk berkontribusi, lihat CONTRIBUTING.md, bergabunglah juga dengan Tencent OpenSource Plan kami.
Untuk memberikan kejelasan tentang apa yang diharapkan dari anggota kami, MMKV telah mengadopsi kode etik yang ditetapkan oleh Perjanjian Kontributor, yang digunakan secara luas. Dan menurut kami hal ini mengartikulasikan nilai-nilai kami dengan baik. Untuk lebih lanjut, lihat Kode Etik.
Lihat FAQ terlebih dahulu. Jika ada pertanyaan, jangan ragu untuk membuat masalah.
Privasi pengguna dijaga dengan sangat serius: MMKV tidak memperoleh, mengumpulkan, atau mengunggah informasi pribadi apa pun. Silakan merujuk ke Aturan Perlindungan Informasi Pribadi MMKV SDK untuk detailnya.