中文版本请参看这里
MMKV ist ein effizientes , kleines und benutzerfreundliches mobiles Schlüsselwert-Speicher-Framework, das in der WeChat-Anwendung verwendet wird. Es ist derzeit für Android , iOS/macOS , Windows , POSIX und HarmonyOS NEXT verfügbar.
Effizient . MMKV verwendet mmap, um den Speicher mit Dateien synchron zu halten, und protobuf, um Werte zu kodieren/dekodieren, wodurch Android optimal genutzt wird, um die beste Leistung zu erzielen.
Einfach zu bedienen . Sie können MMKV unterwegs nutzen. Alle Änderungen werden sofort gespeichert, es sind keine sync
und keine apply
-Aufrufe erforderlich.
Klein .
Fügen Sie build.gradle
in Ihrem App-Modul die folgenden Zeilen hinzu:
dependencies {
implementation ' com.tencent:mmkv:2.0.1 '
// replace "2.0.1" with any available version
}
Weitere Installationsoptionen finden Sie unter Android-Setup.
Sie können MMKV unterwegs nutzen. Alle Änderungen werden sofort gespeichert, es sind keine sync
und keine apply
-Aufrufe erforderlich.
Richten Sie MMKV beim App-Start ein, sagen Sie Ihre Application
, und fügen Sie diese Zeilen hinzu:
public void onCreate () {
super . onCreate ();
String rootDir = MMKV . initialize ( this );
System . out . println ( "mmkv root: " + rootDir );
//……
}
MMKV verfügt über eine globale Instanz, die direkt verwendet werden kann:
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 unterstützt auch Multi-Process Access . Vollständige Tutorials finden Sie hier: Android-Tutorial.
Wenn wir 1000 Mal int
schreiben, erhalten wir dieses Diagramm:
Weitere Benchmark-Daten finden Sie in unserem Benchmark.
Effizient . MMKV verwendet mmap, um den Speicher mit Dateien synchron zu halten, und protobuf, um Werte zu kodieren/dekodieren, wodurch iOS/macOS optimal genutzt wird, um die beste Leistung zu erzielen.
Einfach zu bedienen . Sie können MMKV unterwegs verwenden, es sind keine Konfigurationen erforderlich. Alle Änderungen werden sofort gespeichert, es sind keine synchronize
erforderlich.
Klein .
cd
in Ihr Projektverzeichnis und führen Sie pod repo update
aus, um CocoaPods über die neuesten verfügbaren MMKV-Versionen zu informieren.pod 'MMKV'
zu Ihrem App-Ziel hinzu.pod install
;.xcworkspace
Datei.#import <MMKV/MMKV.h>
zu Ihrer Quelldatei hinzu und wir sind fertig.Weitere Installationsoptionen finden Sie unter iOS/macOS-Setup.
Sie können MMKV unterwegs verwenden, es sind keine Konfigurationen erforderlich. Alle Änderungen werden sofort gespeichert, es sind keine synchronize
erforderlich. Richten Sie MMKV beim App-Start ein. Fügen Sie in Ihrer -[MyApp application: didFinishLaunchingWithOptions:]
die folgenden Zeilen hinzu:
- ( BOOL )application:(UIApplication *)application didFinishLaunchingWithOptions:( NSDictionary *)launchOptions {
// init MMKV in the main thread
[MMKV initializeMMKV: nil ];
// ...
return YES ;
}
MMKV verfügt über eine globale Instanz, die direkt verwendet werden kann:
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 unterstützt auch Multi-Process Access . Vollständige Tutorials finden Sie hier.
Wenn wir 10.000 Mal „random int
schreiben, erhalten wir dieses Diagramm:
Weitere Benchmark-Daten finden Sie in unserem Benchmark.
Effizient . MMKV verwendet mmap, um den Speicher mit Dateien synchron zu halten, und protobuf, um Werte zu kodieren/dekodieren, wodurch Windows optimal genutzt wird, um die beste Leistung zu erzielen.
Einfach zu bedienen . Sie können MMKV unterwegs nutzen. Alle Änderungen werden sofort gespeichert, es sind kein save
und keine sync
erforderlich.
Klein .
Quellcode aus dem Git-Repository abrufen:
git clone https://github.com/Tencent/MMKV.git
Fügen Sie Core/core.vcxproj
zu Ihrer Lösung hinzu;
Fügen Sie MMKV
Projekt zu den Abhängigkeiten Ihres Projekts hinzu.
Fügen Sie $(OutDir)include
zu C/C++
-> General
-> Additional Include Directories
Ihres Projekts hinzu;
Fügen Sie $(OutDir)
zum Linker
Ihres Projekts -> General
-> Additional Library Directories
hinzu;
Fügen Sie mmkv.lib
zum Linker
-> Input
-> Additional Dependencies
Ihres Projekts hinzu.
Fügen Sie #include <MMKV/MMKV.h>
zu Ihrer Quelldatei hinzu und wir sind fertig.
Notiz:
MT/MTd
Laufzeit kompiliert. Wenn Ihr Projekt MD/MDd
verwendet, sollten Sie die MMKV-Einstellung so ändern, dass sie mit der Ihres Projekts übereinstimmt ( C/C++
-> Code Generation
-> Runtime Library
) oder umgekehrt.Platform Toolset
wenn Sie eine andere Version von Visual Studio verwenden.Weitere Installationsoptionen finden Sie unter Windows Setup.
Sie können MMKV unterwegs nutzen. Alle Änderungen werden sofort gespeichert, keine sync
und keine save
erforderlich.
Richten Sie MMKV beim App-Start ein, beispielsweise in Ihrem main()
, fügen Sie diese Zeilen hinzu:
# include < MMKV/MMKV.h >
int main () {
std::wstring rootDir = getYourAppDocumentDir ();
MMKV::initializeMMKV (rootDir);
// ...
}
MMKV verfügt über eine globale Instanz, die direkt verwendet werden kann:
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 unterstützt auch Multi-Process Access . Vollständige Tutorials finden Sie hier: Windows-Tutorial.
Effizient . MMKV verwendet mmap, um den Speicher mit Dateien synchron zu halten, und protobuf, um Werte zu kodieren/dekodieren, wodurch POSIX optimal genutzt wird, um die beste Leistung zu erzielen.
Einfach zu bedienen . Sie können MMKV unterwegs nutzen. Alle Änderungen werden sofort gespeichert, es sind kein save
und keine sync
erforderlich.
Klein .
Quellcode aus dem Git-Repository abrufen:
git clone https://github.com/Tencent/MMKV.git
Bearbeiten Sie Ihre CMakeLists.txt
und fügen Sie diese Zeilen hinzu:
add_subdirectory (mmkv/POSIX/src mmkv)
target_link_libraries (MyApp
mmkv)
Fügen Sie #include "MMKV.h"
zu Ihrer Quelldatei hinzu und wir sind fertig.
Weitere Installationsoptionen finden Sie unter POSIX-Setup.
Sie können MMKV unterwegs nutzen. Alle Änderungen werden sofort gespeichert, keine sync
und keine save
erforderlich.
Richten Sie MMKV beim App-Start ein, beispielsweise in Ihrem main()
, fügen Sie diese Zeilen hinzu:
# include " MMKV.h "
int main () {
std::string rootDir = getYourAppDocumentDir ();
MMKV::initializeMMKV (rootDir);
// ...
}
MMKV verfügt über eine globale Instanz, die direkt verwendet werden kann:
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 unterstützt auch Multi-Process Access . Vollständige Tutorials finden Sie hier POSIX-Tutorial.
Effizient . MMKV verwendet mmap, um den Speicher mit der Datei synchron zu halten, und protobuf, um Werte zu kodieren/dekodieren, wodurch die native Plattform optimal genutzt wird, um die beste Leistung zu erzielen.
Einfach zu bedienen . Sie können MMKV unterwegs nutzen. Alle Änderungen werden sofort gespeichert, keine sync
und keine flush
-Aufrufe erforderlich.
Klein .
ohpm install @tencent/mmkv
Sie können MMKV unterwegs nutzen. Alle Änderungen werden sofort gespeichert, es sind keine sync
und keine apply
-Aufrufe erforderlich.
Richten Sie MMKV beim App-Start ein, sagen Sie Ihre EntryAbility.onCreate()
-Funktion, fügen Sie diese Zeilen hinzu:
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 verfügt über eine globale Instanz, die direkt verwendet werden kann:
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 ) ) ;
Wie Sie sehen, ist MMKV recht einfach zu verwenden. Die vollständige Dokumentation finden Sie im HarmonyOS NEXT-Tutorial.
MMKV wird unter der BSD 3-Clause-Lizenz veröffentlicht. Weitere Informationen finden Sie in der Datei LICENSE.TXT.
Weitere Informationen zum Änderungsverlauf finden Sie in CHANGELOG.md.
Wenn Sie daran interessiert sind, einen Beitrag zu leisten, schauen Sie sich CONTRIBUTING.md an und nehmen Sie auch an unserem Tencent OpenSource-Plan teil.
Um Klarheit darüber zu schaffen, was von unseren Mitgliedern erwartet wird, hat der MMKV den Verhaltenskodex des Contributor Covenant übernommen, der weit verbreitet ist. Und wir denken, dass es unsere Werte gut zum Ausdruck bringt. Weitere Informationen finden Sie im Verhaltenskodex.
Schauen Sie sich zuerst die FAQ an. Sollten Sie Fragen haben, zögern Sie nicht, Fragen zu stellen.
Der Datenschutz der Nutzer wird sehr ernst genommen: MMKV erfasst, sammelt oder lädt keine persönlichen Daten hoch. Weitere Informationen finden Sie in den MMKV SDK-Regeln zum Schutz personenbezogener Daten.