我想知道 MicroStream 的序列化是如何详细工作的。既然它被描述为“超快”,它必须依赖于代码生成,对吗?还是基于反射?
与 Protobuf-Serialization 相比,它的性能如何,Protobuf-Serialization 依赖于直接读取 java 字段并将它们写入字节缓冲区的代码生成,反之亦然。
在大规模序列化对象时,使用反射会大大降低性能,不是吗?
我正在寻找一种快速的方法来传输和保存多人游戏的对象,并且每一毫秒都很重要。:)
提前致谢!
PS:由于我没有足够的声望,我无法创建“微流”标签。https://microstream.one/
我想将 microstream 的 EmbeddedStorageManager 配置为 Spring Boot 应用程序(2.5.0)中的 bean。
@Configuration
public class MicrostreamConfig {
@Value("${microstream.store.location}")
String location;
@Bean
DataRoot dataRoot() {
DataRoot dataRoot = new DataRoot();
dataRoot.setProjectList(new ArrayList<>());
return dataRoot;
}
@Bean
public EmbeddedStorageManager storageManager() {
EmbeddedStorageManager storageManager = EmbeddedStorage.start(
dataRoot(), // root object
Paths.get(location) // storage directory
);
return storageManager;
}
}
Run Code Online (Sandbox Code Playgroud)
并将其注入存储库类中
@Component
public class DataRepository {
@Autowired
private DataRoot dataRoot;
@Autowired
private EmbeddedStorageManager storageManager;
public void addProject(Project project) {
dataRoot.getProjectList().add(project);
storageManager.storeAll(dataRoot.getProjectList());
}
public List<Project> getProjectList() {
return …Run Code Online (Sandbox Code Playgroud)