YR.kv().write()#
包名:package org.yuanrong.runtime.client。
Warning
调用本章节的接口会触发数据系统客户端初始化,runtime 进程将会额外占用 50MB 内存,在 K8S 上部署时有潜在 OOM 风险。 因此,当使用本章节的接口时,请为使用接口的函数声明一个更大的内存资源规格。
YR.kv().write() 同步存储#
Note
约束:用户在设置键与值时,应避免使用特殊字符,否则将会导致存储或获取失败。
接口说明#
public void write(String key, Object value, ExistenceOpt existence) throws YRException#
提供 write 同步存储接口,支持将 value 序列化后保存到数据系统。
YR.kv().write("synchronous-key-1", "val-1", ExistenceOpt.NONE);
参数:
key (String) – 为保存的数据设置一个键,用于标识该数据。查询数据时使用这个键进行查询。
value (Object) – 需要缓存的对象。
existence (ExistenceOpt) – 是否支持 Key 重复写入。可选参数为
ExistenceOpt.NONE(支持,默认参数) 和ExistenceOpt.NX(不支持,可选)。
抛出:
YRException - 可能由数据系统断连,key 含非法字符等导致。
public void write(String key, Object value, SetParam setParam) throws YRException#
提供 write 同步存储接口,支持将 value 序列化后保存到数据系统。
SetParam setParam = new SetParam.Builder().writeMode(WriteMode.NONE_L2_CACHE_EVICT).build();
YR.kv().write("synchronous-key-1", "val-1", setParam);
参数:
key (String) – 为保存的数据设置一个键,用于标识该数据。查询数据时使用这个键进行查询。
value (Object) – 需要缓存的对象。
setParam (SetParam) – 为对象配置是否需要可靠性等属性。
抛出:
YRException - 可能由数据系统断连,key 含非法字符等导致。
SetParam 类介绍
字段 |
类型 |
说明 |
|---|---|---|
writeMode |
WriteMode |
设置数据的可靠性。当服务端配置支持二级缓存时用于保证可靠性时,比如 redis 服务,那么通过这个配置可以保证数据可靠性。默认值为 |
existence |
ExistenceOpt |
是否支持 Key 重复写入。可选参数为 |
ttlSecond |
int |
数据生命周期,超过会被删除;默认值为 |
cacheType |
CacheType |
用于标识分配的是内存介质还是磁盘介质。可选参数为 |
WriteMode 枚举类型介绍
枚举常量 |
说明 |
|---|---|
NONE_L2_CACHE |
不写入二级缓存。 |
WRITE_THROUGH_L2_CACHE |
同步写数据到二级缓存,保证数据可靠性。 |
WRITE_BACK_L2_CACHE |
异步写数据到二级缓存,保证数据可靠性。 |
NONE_L2_CACHE_EVICT |
不写入二级缓存,并且当系统资源不足时,会被系统主动驱逐。 |