我是 Spring aerospike数据的新手,我希望有人能让我知道如何删除这些数据 @user_key
及 @_class
我向应用程序发送post请求时的bins。我正在尝试在RESTAPI中使用spring areospike数据。请参见bleow示例:
pom dependecis:
<dependency>
<groupId>com.aerospike</groupId>
<artifactId>spring-data-aerospike</artifactId>
<version>3.0.0</version>
</dependency>
spring版本:2.5.1
配置类:
@Data
@Component
@ConfigurationProperties(prefix = "aerospike")
public class AerospikeConfigurationProperties {
private String host;
private int port;
private String namespace;
}
@Configuration
@EnableConfigurationProperties(AerospikeConfigurationProperties.class)
@EnableAerospikeRepositories(basePackages = "com.moneris.repositories")
public class AerospikeConfiguration extends AbstractAerospikeDataConfiguration {
@Autowired
private AerospikeConfigurationProperties aerospikeConfigurationProperties;
@Override
protected Collection<Host> getHosts() {
return Collections.singleton(new Host(aerospikeConfigurationProperties.getHost(),
aerospikeConfigurationProperties.getPort()));
}
@Override
protected String nameSpace() {
return aerospikeConfigurationProperties.getNamespace();
}
}
pom依赖项:这是我的pojo:
@Data
@Document
@AllArgsConstructor
public class UserApi {
@Id
private String apiKey;
private String apiName;
private int enabled;
}
以下是回购协议:
public interface AerospikeUserApiKeyRepository extends CrudRepository<UserApi, String> {
}
以下是服务:
@Service
@AllArgsConstructor
public class UserService {
AerospikeUserApiKeyRepository aerospikeUserApiKeyRepository;
public void addUserApiKey(UserApi userApi) {
aerospikeUserApiKeyRepository.save(userApi);
}
public Optional<UserApi> getUserApi(String apiKey){
return aerospikeUserApiKeyRepository.findById(apiKey);
}
}
这里是控制器:
@RestController
@AllArgsConstructor
public class UserController {
UserService userService;
@PostMapping("/users/apiKey")
public void addUserApi(@RequestBody UserApi userApi) {
userService.addUserApiKey(userApi);;
}
@GetMapping("/users/apiKey/{apiKey}")
public Optional<UserApi> getUserApi(@PathVariable("apiKey") String apiKey) {
return userService.getUserApi(apiKey);
}
}
当我运行应用程序并将post请求发送到 http://localhost:8080/users/apiKey
下面是json正文
{
"apiKey": "ABC",
"apiName": "TEST",
"enabled": 1
}
我在aerospike数据库中的成绩低于记录
有什么办法不可以吗 @user_key and @_class
在片场?
2条答案
按热度按时间4ngedf3f1#
储存
@class
可以通过在上下文中提供以下bean来禁用:请注意,禁用保存类型信息将导致无法读取具有通用数据类型的文档。
7rtdyuoh2#
spring数据aerospike同时存储这两种数据
@_class
及@user_key
默认情况下,箱子是开箱即用的。我们储存
@_class
bin,以便了解在从aerospike读取记录时如何将对象Map回普通的旧java对象(pojo)。我们储存
@user_key
由于aerospike在保存记录时不存储密钥或摘要,因此您可以在此处阅读有关aerospike数据模型的更多信息:https://docs.aerospike.com/docs/architecture/data-model.html,因此,当您有历史数据时,了解原始用户密钥很有帮助。您可以禁用@_类,但会产生后果。请查看anastasiia smirnova的评论。