AeroSpike Java客户端连接读写AS实例
来源:互联网 发布:java object equals 编辑:程序博客网 时间:2024/05/16 19:44
AeroSpike 最简单Java客户端实例
本篇文章介绍了java客户端读写AS最简单的步骤跟方法,并在最后给出一个实例。更复杂的功能将在后面的文章中介绍。
准备
在maven中添加Aerospike依赖:
<dependencies> <dependency> <groupId>com.aerospike</groupId> <artifactId>aerospike-client</artifactId> <version>[3.0.0,)</version> </dependency> </dependencies>
建立客户端连接Aerospike数据库
建立一个连接数据库的客户端,需要知道ip跟端口。
ip可以根据ip addr"|grep 'global eth1
查看确认:
lihanlin$ vagrant ssh -c "ip addr"|grep 'global eth1' inet 172.28.128.3/24 brd 172.28.128.255 scope global eth1
端口在之前的数据库配置中有讲过,配置文件的network-service-port字段来配置,默认是3000。
单节点数据库连接
import com.aerospike.client.AerospikeClient;AerospikeClient client = new AerospikeClient("172.28.128.3", 3000);
集群数据库连接
import com.aerospike.client.AerospikeClient;import com.aerospike.client.Host;import com.aerospike.client.policy.ClientPolicy;Host[] hosts = new Host[] { new Host("a.host", 3000), new Host("another.host", 3000), new Host("and.another.host", 3000)};AerospikeClient client = new AerospikeClient(new ClientPolicy(), hosts);
关闭客户端 回收资源
client.close();
在关闭连接回收资源后,就不能再用它进行读写操作了。
写入数据
设置写入的策略
// Initialize policy.WritePolicy policy = new WritePolicy();policy.timeout = 50; // 50 millisecond timeout.
这里只设置了超时时间,还有很多其他可以设置的参数,这里就不一一介绍了~后面有机会根据具体的功能会再介绍。
写入一条记录的一个字段
Key key = new Key("test","testset","testkey");Bin binString = new Bin("testbinString","testvalue");client.put(policy,key,binString);
每一个key对应一条记录,key由namespace、set、keyvalue组成。
每一个bin相当于一个字段,由字段名称、字段的值组成。
最后由客户端写入key和bin。
写入一条记录的多个字段的值
上例中只写入了一条记录一个字段的值,如果有多个字段,可以设置多个bin同时写入:
Key key = new Key("test","testset","testkey");Bin binString = new Bin("testbinString","testvalue");Bin binInt = new Bin("testbinInt",1);client.put(policy,key,binString,binInt);
默认的写入策略
之前我们设置了写入策略的超时时间,没有配置其他参数,此时默认的策略是:
如果记录不存在就创建一个记录
如果记录存在bin也存在就更新bin的值
如果记录有其他bin存在,保留他们的值
当然我们还有其他的策略:
CREATE_ONLY:只有记录不存在时才写入记录
REPLACE_ONLY:当记录存在时,完全替换该条记录
删除数据
删除一条记录的一个字段
删除一条记录的一个字段其实就是把这个字段设为null就可以了,例如删除记录为key字段名字为binName1的值:
Bin bin1 = Bin.asNull(binName1); // Set bin value to null to drop bin.client.put(policy, key, bin1);
删除一整条记录
删除namespace为”test”,set为”myset”,keyvalue为”mykey”的一条记录:
Key key = new Key("test", "myset", "mykey");client.delete(policy, key);
读出数据
读出一条记录的特定字段
读出一条key记录的名字为bin1、bin2的bin的值
Record record = client.get(policy, key, "bin1", "bin2");
读出一条记录的所有字段
读出一条key记录的所有bin的值
Record record = client.get(policy, key);
读写实例:
import com.aerospike.client.*;import com.aerospike.client.policy.ClientPolicy;import com.aerospike.client.policy.Policy;import com.aerospike.client.policy.WritePolicy;/** * Created by lihanlin on 16/11/4. */public class AerospikeDemo { public static void main(String[] args){ AerospikeClient client = new AerospikeClient("172.28.128.3",3000); // Initialize policy. WritePolicy policy = new WritePolicy(); policy.timeout = 50; Key key = new Key("test","testset","testkey"); Bin binString = new Bin("testbinString","testvalue"); Bin binInt = new Bin("testbinInt",1); client.put(policy,key,binString,binInt); Record recordAll = client.get(policy,key); Record recordSpecificBin = client.get(policy,key,"testbinString"); System.out.println(recordAll.toString()); System.out.println(recordSpecificBin.toString()); client.close(); }}
输出结果:
(gen:2),(exp:216464286),(bins:(testbinString:testvalue),(testbinInt:1))(gen:2),(exp:216464286),(bins:(testbinString:testvalue))
- AeroSpike Java客户端连接读写AS实例
- aerospike java客户端分析
- Aerospike C客户端手册———建立连接
- Aerospike学习 java语言操作Aerospike
- Java Io读写实例
- Java读写XML实例
- java文件读写实例
- java 文件读写实例
- javascript读写客户端ACCESS数据库实例
- Java Applet读写客户端串口
- Aerospike C客户端手册——简介
- Aerospike C客户端手册——安装
- memcached java客户端实例
- Redis Java客户端实例
- JAVA客户端连接SSL
- JAVA客户端连接SSL
- JAVA客户端连接SSL
- JAVA客户端连接SSL
- 自动生成Juint测试类
- 彻底解决APP渠道统计和邀请码之痛点问题
- Azure 媒体服务可将优质内容传输至 Apple TV
- Java 正则校验(手机,邮箱,固话........)
- 新华BBC笔记四
- AeroSpike Java客户端连接读写AS实例
- 理解 OpenStack 高可用(HA)(5):RabbitMQ HA
- 购物车cookie
- MySQL C语言接口-预处理语句
- Python用QQ邮箱发送邮件时授权码问题
- java多态性《上》
- 新华BBC笔记五
- 读《TCP/IP详解》第4、5章:ARP 地址解析协议和RARP 逆地址解析协议
- 关于脚手架的那些