正如我们所知,生产者有一个本地缓存内存,它存储模式(在模式注册表中注册)。在注册一个唯一的模式之后,将生成一个id。这个缓存是否使用这个生成的id作为Map的键?
whhtz7ly1#
模式由模式字符串的md5散列存储,并且有三个缓存
private final Map<String, Map<Schema, Integer>> schemaCache; private final Map<String, Map<Integer, Schema>> idCache; private final Map<String, Map<Schema, Integer>> versionCache;
https://github.com/confluentinc/schema-registry/blob/master/client/src/main/java/io/confluent/kafka/schemaregistry/client/cachedschemaregistryclient.java如果你问是因为你想访问缓存,那么你需要使用反射来访问这些字段
1条答案
按热度按时间whhtz7ly1#
模式由模式字符串的md5散列存储,并且有三个缓存
https://github.com/confluentinc/schema-registry/blob/master/client/src/main/java/io/confluent/kafka/schemaregistry/client/cachedschemaregistryclient.java
如果你问是因为你想访问缓存,那么你需要使用反射来访问这些字段