All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.logicbus.kvalue.core.HashRow Maven / Gradle / Ivy

package com.logicbus.kvalue.core;

import java.util.List;
import java.util.Map;

/**
 * 基于Hash的Row
 * 
 * @author duanyy
 * 
 * @version 1.6.5.40 [20160804 duanyy] 
* - 增加getAll接口
* * @version 1.1.6.11 [20161227 duanyy]
* - 增加max,min,avg操作 */ public interface HashRow extends KeyValueRow{ /** * 获取Hash中所有取值的列表 */ public List values(); /** * 获取Hash中所有key的列表 */ public List keys(); /** * 删除Hash中一个或多个Field * @param fields field的key列表 * @return 被删除的Field个数 */ public long del(final String...fields); /** * 测试Hash中是否存在指定的field * @param field * @return 是否存在 */ public boolean exists(final String field); /** * 获取Hash中指定的field * @param field * @return 指定field的值 */ public String get(final String field,final String dftValue); /** * 获取Hash中指定的field * @param field * @return 指定field的值 */ public long get(final String field,final long dftValue); /** * 获取Hash中指定的field * @param field * @return 指定field的值 */ public double get(final String field,final double dftValue); /** * 获取Hash的所有数据 * @return Map形式的数据 */ public Map getAll(); /** * 获取Hash的所有数据 * @param json 预定义的json,如果为空,将创建一个 * @return Map形式的数据 */ public Map getAll(Map json); /** * 设置Field * @param field * @param value * @return 本次操作是否成功 */ public boolean set(final String field,final String value); /** * 设置field * @param field * @param value * @return 本次操作是否成功 */ public boolean set(final String field,final long value); /** * 设置field * @param field * @param value * @return 本次操作是否成功 */ public boolean set(final String field,final double value); /** * 设置多个field * @param keyvalues * @return 本次操作是否成功 */ public boolean mset(final String...keyvalues); /** * 对指定Field的值进行增量加减 * @param field * @param increment * @return 操作前的值 */ public long incr(final String field,final long increment); /** * 对指定Field的值进行max操作 * *

如果当前值比latest小,则设置当前值为latest * * @param field 指定的field * @param latest 最新值 * @return 操作前的值 */ public long max(final String field,final long latest); /** * 对指定Field的值进行min操作 * @param field 指定的field * @param latest 最新值 * @return 操作前的值 */ public long min(final String field,final long latest); /** * 对指定Field的值进行avg操作 * @param field 指定的field * @param latest 最新值 * @param rate 比率 * @return 操作前的值 */ public long avg(final String field,final long latest,final double rate); /** * 对指定Field的值进行增量加减 * @param field * @param increment * @return 操作前的值 */ public double incr(final String field,final double increment); /** * 对指定Field的值进行max操作 * *

如果当前值比latest小,则设置当前值为latest * * @param field 指定的field * @param latest 最新值 * @return 操作前的值 */ public double max(final String field,final double latest); /** * 对指定Field的值进行min操作 * @param field 指定的field * @param latest 最新值 * @return 操作前的值 */ public double min(final String field,final double latest); /** * 对指定Field的值进行avg操作 * @param field 指定的field * @param latest 最新值 * @param rate 比率 * @return 操作前的值 */ public double avg(final String field,final double latest,final double rate); /** * 获取多个field的取值 * @param fields * @return Field的值的列表 */ public List mget(final String...fields); /** * 获取Hash中Field个数 * @return Field个数 */ public long length(); }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy