Aerospike学习 java语言操作Aerospike
来源:互联网 发布:大数据的关键技术 编辑:程序博客网 时间:2024/05/04 07:23
关于aerospike(一下简称as)是什么,我不再说了,关于as怎么安装启动我也不再赘述,这里有一篇文章给大家参考:Linux下安装Aerospike。下面是java操作as的详细步骤,主要是参考官网来做的。
首先说一下as里面的存储数据的一些名词:主要是Policy,Namespace,Set,Key,Bin,Record。
Policy:策略。暂时就了解到是为as操作里面的数据时设置一些策略。
NameSpace:命名空间。类似于RDBMS中的schema的概念。
Set:类似于表的概念。
Key:类似于行的概念。
Bin:类似于列的概念。
Record:记录,一个Key和一个Bin可以确认一个Record。
这里所有的我只能用“类似”来描述,因为我觉得这样比较容易分清和记住。
as中的namespace是需要再配置文件中配置的:
新建一个见test的namespace
环境:
- MAVEN
- IDEA
- VMware+Linux
- as
首先新建maven项目,pom文件如下
<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.yjw</groupId> <artifactId>aerospikedemo</artifactId> <version>1.0-SNAPSHOT</version> <dependencies> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.17</version> </dependency> <!-- https://mvnrepository.com/artifact/junit/junit --> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> </dependency> <!--aerospike客户端--> <dependency> <groupId>com.aerospike</groupId> <artifactId>aerospike-client</artifactId> <version>[3.0.0,)</version> </dependency> </dependencies></project>
主要是要引入as的客户端。下面新建一个测试类操作as。
/** Copyright (c) 2016 www.bsfit.com.cn All Rights Reserved.*/import com.aerospike.client.AerospikeClient;import com.aerospike.client.Bin;import com.aerospike.client.Key;import com.aerospike.client.Record;import com.aerospike.client.policy.WritePolicy;import org.apache.log4j.Logger;import org.junit.After;import org.junit.Before;import org.junit.Test;/** * The type Aerospike test. * * @author: YeJunwei Date: 2016/11/7 Time: 20:42 */public class AerospikeTest { private Logger logger= Logger.getLogger(AerospikeTest.class); /** * 新建一个as客户端,构造方法: * AerospikeClient(String hostname, int port) * Initialize Aerospike client. */ AerospikeClient as = new AerospikeClient("192.168.147.134",3000); /** * The Write policy. *///新建一个写入策略 WritePolicy writePolicy = new WritePolicy(); /** * The Key. *///新建一个key,namespace为test,set为mySet,根据文档这个myKey并不是这个key的名字 Key key = new Key("test","mySet","myKey"); /** * Before. */ @Before public void before(){ logger.error("this is before method"); writePolicy.timeout=50;// 50 millisecond timeout. } /** * As writing value. * 向同一个key中写入两个不同的bin,logger输出里面的record * 如果bin的名字一样,那么前一个会被后一个所覆盖,所以写入和修改都是同一个方法 */ @Test public void ASWritingValue(){ Bin bin = new Bin("myBin","myValue"); Bin bin2 = new Bin("myBin2","myValue2"); as.put(null,key,bin); as.put(null,key,bin2); logger.info(as.get(null,key)); } /** * As del bin. * 删除key中的名为“mybin”的bin */ @Test public void ASDelBin(){ Bin bin = Bin.asNull("myBin"); as.put(null,key,bin); logger.info(as.get(null,key)); } /** * Get record. * 根据key和申明的bin的名字来获取指定的record */ @Test public void getRecord(){ //得到所有record Record recordAll=as.get(null,key); Record record1=as.get(null,key,"myBin"); Record record2=as.get(null,key,"myBin2"); Record records=as.get(null,key,"myBin","myBin2"); logger.info(recordAll); logger.info(record1); logger.info(record2); logger.info(records); } /** * Del records. * 删除records,官网的解释是这样的:This example deletes the key mykey from the namespace test in the set myset。 */ @Test public void delRecords(){ as.delete(null,key); } /** * After. */ @After public void after(){ logger.error("this is after method"); }}
1 0
- Aerospike学习 java语言操作Aerospike
- aerospike java客户端分析
- aerospike实战之put操作
- aerospike安装
- aerospike安装
- aerospike参考资料
- aerospike init
- aerospike参考资料
- aerospike init
- Aerospike迁移
- python aerospike client 实现CAS更新操作
- AeroSpike Java客户端连接读写AS实例
- AeroSpike配置及Java Client使用
- Aerospike系列:3:aerospike特点分析
- Aerospike数据库实战(四) -- Aerospike 安装部署
- aerospike特点简单描述
- aerospike与tair对比
- aerospike性能测试
- Nginx服务器上如何安装并配置PHPMyAdmin的教程
- C++的拷贝构造函数、operator=运算符重载,深拷贝和浅拷贝、explicit关键字
- golang的web框架—beego入门简介
- Quartz2.x增、删、改工具类
- java中基本类类型
- Aerospike学习 java语言操作Aerospike
- 常用浏览器插件
- zookeeper集群,单机版,伪集群搭建与配置
- MTK8127编译sdk出错解决方法
- ceph中的s3cmd 消息解析代码走读
- 接口和抽象类的异同
- android 底部按钮图片突出显示,只要一个属性即可搞定!!
- 更改eclipse中JVM的内存大小
- layout中自定义控件三种申明