中文版请参看这里
MMKV は、WeChat アプリケーションで使用される、効率的で小型で使いやすいモバイル キー/値ストレージ フレームワークです。現在、 Android 、 iOS/macOS 、 Windows 、 POSIX 、 HarmonyOS NEXTで利用できます。
効率的。 MMKV は、mmap を使用してメモリとファイルの同期を維持し、protobuf を使用して値をエンコード/デコードし、Android を最大限に活用して最高のパフォーマンスを実現します。
使いやすい。 MMKV をそのまま使用できます。すべての変更はすぐに保存され、 sync
やapply
呼び出しは必要ありません。
小さい。
アプリ モジュールのbuild.gradle
に次の行を追加します。
dependencies {
implementation ' com.tencent:mmkv:2.0.1 '
// replace "2.0.1" with any available version
}
他のインストール オプションについては、「Android のセットアップ」を参照してください。
MMKV をそのまま使用できます。すべての変更はすぐに保存され、 sync
やapply
呼び出しは必要ありません。
アプリの起動時に MMKV をセットアップします。たとえば、 Application
クラスに次の行を追加します。
public void onCreate () {
super . onCreate ();
String rootDir = MMKV . initialize ( this );
System . out . println ( "mmkv root: " + rootDir );
//……
}
MMKV には、直接使用できるグローバル インスタンスがあります。
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 はマルチプロセス アクセスもサポートします。完全なチュートリアルは、Android チュートリアルでご覧いただけます。
ランダムなint
1000 回書き込むと、次のグラフが得られます。
ベンチマーク データの詳細については、ベンチマークを参照してください。
効率的。 MMKV は、mmap を使用してメモリとファイルの同期を維持し、protobuf を使用して値をエンコード/デコードし、iOS/macOS を最大限に活用して最高のパフォーマンスを実現します。
使いやすい。 MMKV はそのまま使用でき、構成は必要ありません。すべての変更はすぐに保存され、 synchronize
呼び出しは必要ありません。
小さい。
cd
、 pod repo update
を実行して、利用可能な最新の MMKV バージョンを CocoaPods に認識させます。pod 'MMKV'
をアプリのターゲットに追加します。pod install
を実行します。.xcworkspace
ファイルを開きます。#import <MMKV/MMKV.h>
をソース ファイルに追加すれば完了です。他のインストール オプションについては、「iOS/macOS のセットアップ」を参照してください。
MMKV はそのまま使用でき、構成は必要ありません。すべての変更はすぐに保存され、 synchronize
呼び出しは必要ありません。アプリの起動時に MMKV をセットアップし、 -[MyApp application: didFinishLaunchingWithOptions:]
に次の行を追加します。
- ( BOOL )application:(UIApplication *)application didFinishLaunchingWithOptions:( NSDictionary *)launchOptions {
// init MMKV in the main thread
[MMKV initializeMMKV: nil ];
// ...
return YES ;
}
MMKV には、直接使用できるグローバル インスタンスがあります。
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 はマルチプロセス アクセスもサポートします。完全なチュートリアルはここにあります。
ランダムなint
10000 回書き込むと、次のグラフが得られます。
ベンチマーク データの詳細については、ベンチマークを参照してください。
効率的。 MMKV は、mmap を使用してメモリとファイルの同期を維持し、protobuf を使用して値をエンコード/デコードし、Windows を最大限に活用して最高のパフォーマンスを実現します。
使いやすい。 MMKV をそのまま使用できます。すべての変更はすぐに保存され、 save
やsync
呼び出しは必要ありません。
小さい。
git リポジトリからソース コードを取得します。
git clone https://github.com/Tencent/MMKV.git
Core/core.vcxproj
をソリューションに追加します。
MMKV
プロジェクトをプロジェクトの依存関係に追加します。
$(OutDir)include
プロジェクトのC/C++
-> General
-> Additional Include Directories
に追加します。
$(OutDir)
をプロジェクトのLinker
-> General
-> Additional Library Directories
に追加します。
mmkv.lib
プロジェクトのLinker
-> Input
-> Additional Dependencies
に追加します。
#include <MMKV/MMKV.h>
ソース ファイルに追加すれば完了です。
注記:
MT/MTd
ランタイムでコンパイルされます。プロジェクトでMD/MDd
使用している場合は、プロジェクトに一致するように MMKV の設定を変更する必要があります ( C/C++
-> Code Generation
-> Runtime Library
)、またはその逆。Platform Toolset
を変更してください。他のインストール オプションについては、「Windows セットアップ」を参照してください。
MMKV をそのまま使用できます。すべての変更はすぐに保存され、 sync
やsave
呼び出しは必要ありません。
アプリの起動時に MMKV をセットアップします。たとえば、 main()
に次の行を追加します。
# include < MMKV/MMKV.h >
int main () {
std::wstring rootDir = getYourAppDocumentDir ();
MMKV::initializeMMKV (rootDir);
// ...
}
MMKV には、直接使用できるグローバル インスタンスがあります。
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 はマルチプロセス アクセスもサポートします。完全なチュートリアルは、Windows チュートリアルにあります。
効率的。 MMKV は、mmap を使用してメモリとファイルの同期を維持し、protobuf を使用して値をエンコード/デコードし、POSIX を最大限に活用して最高のパフォーマンスを実現します。
使いやすい。 MMKV をそのまま使用できます。すべての変更はすぐに保存され、 save
やsync
呼び出しは必要ありません。
小さい。
git リポジトリからソース コードを取得します。
git clone https://github.com/Tencent/MMKV.git
CMakeLists.txt
を編集し、次の行を追加します。
add_subdirectory (mmkv/POSIX/src mmkv)
target_link_libraries (MyApp
mmkv)
#include "MMKV.h"
ソース ファイルに追加すれば完了です。
他のインストール オプションについては、「POSIX セットアップ」を参照してください。
MMKV をそのまま使用できます。すべての変更はすぐに保存され、 sync
やsave
呼び出しは必要ありません。
アプリの起動時に MMKV をセットアップします。たとえば、 main()
に次の行を追加します。
# include " MMKV.h "
int main () {
std::string rootDir = getYourAppDocumentDir ();
MMKV::initializeMMKV (rootDir);
// ...
}
MMKV には、直接使用できるグローバル インスタンスがあります。
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 はマルチプロセス アクセスもサポートします。完全なチュートリアルは、POSIX チュートリアルにあります。
効率的。 MMKV は、mmap を使用してメモリとファイルの同期を維持し、protobuf を使用して値をエンコード/デコードし、ネイティブ プラットフォームを最大限に活用して最高のパフォーマンスを実現します。
使いやすい。 MMKV をそのまま使用できます。すべての変更はすぐに保存され、 sync
やflush
呼び出しは必要ありません。
小さい。
ohpm install @tencent/mmkv
MMKV をそのまま使用できます。すべての変更はすぐに保存され、 sync
やapply
呼び出しは必要ありません。
アプリの起動時に MMKV をセットアップします。たとえば、 EntryAbility.onCreate()
関数に次の行を追加します。
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 には、直接使用できるグローバル インスタンスがあります。
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 ) ) ;
ご覧のとおり、MMKV は非常に使いやすいです。完全なドキュメントについては、「HarmonyOS NEXT チュートリアル」を参照してください。
MMKV は、BSD 3 条項ライセンスに基づいて公開されています。詳細については、LICENSE.TXT をご覧ください。
変更履歴の詳細については、CHANGELOG.md を確認してください。
貢献に興味がある場合は、CONTRIBUTING.md をチェックし、Tencent オープンソース プランにも参加してください。
メンバーに期待されることを明確にするために、MMKV は広く使用されている寄稿者規約によって定義された行動規範を採用しています。そして、それが私たちの価値観をうまく表現していると思います。詳細については、行動規範をご覧ください。
まずはよくある質問をご覧ください。ご質問がある場合は、遠慮なく問題を作成してください。
ユーザーのプライバシーは非常に重視されており、MMKV はいかなる個人情報も取得、収集、アップロードしません。詳細はMMKV SDK個人情報保護規定をご参照ください。