中文版本请参看这里
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
실행하여 CocoaPod가 사용 가능한 최신 MMKV 버전을 인식하도록 하세요.pod 'MMKV'
추가하세요.pod install
실행 ;.xcworkspace
파일을 엽니다.#import <MMKV/MMKV.h>
추가하면 완료됩니다.다른 설치 옵션은 iOS/macOS 설정을 참조하세요.
원하는 대로 MMKV를 사용할 수 있으며 구성이 필요하지 않습니다. 모든 변경 사항은 즉시 저장되며 synchronize
호출이 필요하지 않습니다. -[MyApp application: didFinishLaunchingWithOptions:]
에서 앱 시작 시 MMKV를 설정하고 다음 줄을 추가하세요.
- ( 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
프로젝트를 추가합니다.
프로젝트의 C/C++
-> General
-> Additional Include Directories
에 $(OutDir)include
추가합니다.
프로젝트의 Linker
-> General
-> Additional Library Directories
에 $(OutDir)
을 추가합니다.
프로젝트의 Linker
-> Input
-> Additional Dependencies
에 mmkv.lib
추가합니다.
소스 파일에 #include <MMKV/MMKV.h>
추가하면 완료됩니다.
메모:
MT/MTd
런타임으로 컴파일됩니다. 프로젝트에서 MD/MDd
사용하는 경우 프로젝트의 설정( C/C++
-> Code Generation
-> Runtime Library
)과 일치하도록 MMKV 설정을 변경해야 하며 그 반대의 경우도 마찬가지입니다.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 Tutorial을 참조하세요.
MMKV는 BSD 3-Clause 라이센스에 따라 게시됩니다. 자세한 내용은 LICENSE.TXT를 확인하세요.
변경 내역에 대한 자세한 내용은 CHANGELOG.md를 확인하세요.
기여하고 싶다면 CONTRIBUTING.md를 확인하고 Tencent OpenSource 플랜에 가입하세요.
회원들에게 기대되는 바를 명확하게 하기 위해 MMKV는 널리 사용되는 기여자 규약에 정의된 행동 강령을 채택했습니다. 그리고 우리는 그것이 우리의 가치를 잘 표현한다고 생각합니다. 자세한 내용은 행동 강령을 확인하세요.
FAQ를 먼저 확인해 보세요. 질문이 있으면 주저하지 말고 이슈를 만들어주세요.
사용자 개인 정보 보호는 매우 중요하게 간주됩니다. MMKV는 개인 정보를 획득, 수집 또는 업로드하지 않습니다. 자세한 내용은 MMKV SDK 개인정보 보호 규정을 참조하세요.