中文版本请参看这里
MMKV est un cadre de stockage de valeurs-clés mobile efficace , petit et facile à utiliser, utilisé dans l'application WeChat. Il est actuellement disponible sur Android , iOS/macOS , Windows , POSIX et HarmonyOS NEXT .
Efficace . MMKV utilise mmap pour synchroniser la mémoire avec les fichiers et protobuf pour encoder/décoder les valeurs, tirant le meilleur parti d'Android pour obtenir les meilleures performances.
Facile à utiliser . Vous pouvez utiliser MMKV au fur et à mesure. Toutes les modifications sont enregistrées immédiatement, aucune sync
, aucun appel apply
nécessaire.
Petit .
Ajoutez les lignes suivantes à build.gradle
sur votre module d'application :
dependencies {
implementation ' com.tencent:mmkv:2.0.1 '
// replace "2.0.1" with any available version
}
Pour d'autres options d'installation, voir Configuration d'Android.
Vous pouvez utiliser MMKV au fur et à mesure. Toutes les modifications sont enregistrées immédiatement, aucune sync
, aucun appel apply
nécessaire.
Configurez MMKV au démarrage de l'application, dites votre classe Application
, ajoutez ces lignes :
public void onCreate () {
super . onCreate ();
String rootDir = MMKV . initialize ( this );
System . out . println ( "mmkv root: " + rootDir );
//……
}
MMKV dispose d'une instance globale, utilisable directement :
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 prend également en charge l'accès multi-processus . Des didacticiels complets peuvent être trouvés ici Tutoriel Android.
En écrivant int
aléatoire 1000 fois, nous obtenons ce graphique :
Pour plus de données de référence, veuillez vous référer à notre référence.
Efficace . MMKV utilise mmap pour maintenir la mémoire synchronisée avec les fichiers et protobuf pour encoder/décoder les valeurs, tirant le meilleur parti d'iOS/macOS pour obtenir les meilleures performances.
Facile à utiliser . Vous pouvez utiliser MMKV au fur et à mesure, aucune configuration n'est nécessaire. Toutes les modifications sont enregistrées immédiatement, aucun appel synchronize
n'est nécessaire.
Petit .
cd
dans le répertoire de votre projet, exécutez pod repo update
pour informer CocoaPods des dernières versions MMKV disponibles ;pod 'MMKV'
à la cible de votre application ;pod install
;.xcworkspace
généré par CocoaPods ;#import <MMKV/MMKV.h>
à votre fichier source et nous avons terminé.Pour d'autres options d'installation, consultez Configuration iOS/macOS.
Vous pouvez utiliser MMKV au fur et à mesure, aucune configuration n'est nécessaire. Toutes les modifications sont enregistrées immédiatement, aucun appel synchronize
n'est nécessaire. Configurez MMKV au démarrage de l'application, dans votre -[MyApp application: didFinishLaunchingWithOptions:]
, ajoutez ces lignes :
- ( BOOL )application:(UIApplication *)application didFinishLaunchingWithOptions:( NSDictionary *)launchOptions {
// init MMKV in the main thread
[MMKV initializeMMKV: nil ];
// ...
return YES ;
}
MMKV dispose d'une instance globale, utilisable directement :
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 prend également en charge l'accès multi-processus . Des tutoriels complets peuvent être trouvés ici.
En écrivant int
aléatoire 10 000 fois, nous obtenons ce graphique :
Pour plus de données de référence, veuillez vous référer à notre référence.
Efficace . MMKV utilise mmap pour maintenir la mémoire synchronisée avec les fichiers et protobuf pour encoder/décoder les valeurs, tirant le meilleur parti de Windows pour obtenir les meilleures performances.
Facile à utiliser . Vous pouvez utiliser MMKV au fur et à mesure. Toutes les modifications sont enregistrées immédiatement, aucune save
, aucun appel sync
n'est nécessaire.
Petit .
Récupération du code source depuis le dépôt git :
git clone https://github.com/Tencent/MMKV.git
Ajoutez Core/core.vcxproj
à votre solution ;
Ajoutez le projet MMKV
aux dépendances de votre projet ;
Ajoutez $(OutDir)include
au C/C++
de votre projet -> General
-> Additional Include Directories
;
Ajoutez $(OutDir)
au Linker
de votre projet -> General
-> Additional Library Directories
;
Ajoutez mmkv.lib
au Linker
de votre projet -> Input
-> Additional Dependencies
;
Ajoutez #include <MMKV/MMKV.h>
à votre fichier source et nous avons terminé.
note:
MT/MTd
par défaut. Si votre projet utilise MD/MDd
, vous devez modifier le paramètre MMKV pour qu'il corresponde à celui de votre projet ( C/C++
-> Code Generation
-> Runtime Library
), ou vice versa.Platform Toolset
si vous utilisez une version différente de Visual Studio.Pour d'autres options d'installation, voir Installation de Windows.
Vous pouvez utiliser MMKV au fur et à mesure. Toutes les modifications sont enregistrées immédiatement, aucune sync
, aucun appel save
nécessaire.
Configurez MMKV au démarrage de l'application, par exemple dans votre main()
, ajoutez ces lignes :
# include < MMKV/MMKV.h >
int main () {
std::wstring rootDir = getYourAppDocumentDir ();
MMKV::initializeMMKV (rootDir);
// ...
}
MMKV dispose d'une instance globale, utilisable directement :
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 prend également en charge l'accès multi-processus . Des didacticiels complets peuvent être trouvés ici Tutoriel Windows.
Efficace . MMKV utilise mmap pour maintenir la mémoire synchronisée avec les fichiers et protobuf pour encoder/décoder les valeurs, tirant le meilleur parti de POSIX pour obtenir les meilleures performances.
Facile à utiliser . Vous pouvez utiliser MMKV au fur et à mesure. Toutes les modifications sont enregistrées immédiatement, aucune save
, aucun appel sync
n'est nécessaire.
Petit .
Récupération du code source depuis le dépôt git :
git clone https://github.com/Tencent/MMKV.git
Modifiez votre CMakeLists.txt
, ajoutez ces lignes :
add_subdirectory (mmkv/POSIX/src mmkv)
target_link_libraries (MyApp
mmkv)
Ajoutez #include "MMKV.h"
à votre fichier source et nous avons terminé.
Pour d’autres options d’installation, consultez Configuration POSIX.
Vous pouvez utiliser MMKV au fur et à mesure. Toutes les modifications sont enregistrées immédiatement, aucune sync
, aucun appel save
nécessaire.
Configurez MMKV au démarrage de l'application, par exemple dans votre main()
, ajoutez ces lignes :
# include " MMKV.h "
int main () {
std::string rootDir = getYourAppDocumentDir ();
MMKV::initializeMMKV (rootDir);
// ...
}
MMKV dispose d'une instance globale, utilisable directement :
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 prend également en charge l'accès multi-processus . Des didacticiels complets peuvent être trouvés ici Tutoriel POSIX.
Efficace . MMKV utilise mmap pour maintenir la mémoire synchronisée avec le fichier et protobuf pour encoder/décoder les valeurs, tirant le meilleur parti de la plate-forme native pour obtenir les meilleures performances.
Facile à utiliser . Vous pouvez utiliser MMKV au fur et à mesure. Toutes les modifications sont enregistrées immédiatement, aucune sync
, aucun appel flush
nécessaire.
Petit .
ohpm install @tencent/mmkv
Vous pouvez utiliser MMKV au fur et à mesure. Toutes les modifications sont enregistrées immédiatement, aucune sync
, aucun appel apply
nécessaire.
Configurez MMKV au démarrage de l'application, dites votre fonction EntryAbility.onCreate()
, ajoutez ces lignes :
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 dispose d'une instance globale, utilisable directement :
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 ) ) ;
Comme vous pouvez le constater, MMKV est assez simple à utiliser. Pour la documentation complète, consultez le didacticiel HarmonyOS NEXT.
MMKV est publié sous la licence BSD 3-Clause. Pour plus de détails, consultez le LICENSE.TXT.
Consultez le CHANGELOG.md pour plus de détails sur l’historique des modifications.
Si vous souhaitez contribuer, consultez CONTRIBUTING.md et rejoignez également notre plan Tencent OpenSource.
Pour clarifier ce que l'on attend de nos membres, MMKV a adopté le code de conduite défini par le Contributor Covenant, qui est largement utilisé. Et nous pensons que cela exprime bien nos valeurs. Pour en savoir plus, consultez le Code de conduite.
Consultez d'abord la FAQ. S'il y a des questions, n'hésitez pas à créer des problèmes.
La confidentialité des utilisateurs est prise très au sérieux : MMKV n’obtient, ne collecte ni ne télécharge aucune information personnelle. Veuillez vous référer aux règles de protection des informations personnelles du SDK MMKV pour plus de détails.