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

com.aerospike.client.policy.BatchReadPolicy Maven / Gradle / Ivy

Go to download

Aerospike Java client interface to Aerospike database server. Uses Bouncy Castle crypto library for RIPEMD-160 hashing.

The newest version!
/*
 * Copyright 2012-2024 Aerospike, Inc.
 *
 * Portions may be licensed to Aerospike, Inc. under one or more contributor
 * license agreements WHICH ARE COMPATIBLE WITH THE APACHE LICENSE, VERSION 2.0.
 *
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not
 * use this file except in compliance with the License. You may obtain a copy of
 * the License at http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
 * License for the specific language governing permissions and limitations under
 * the License.
 */
package com.aerospike.client.policy;

import com.aerospike.client.exp.Expression;

/**
 * Policy attributes used in batch read commands.
 */
public final class BatchReadPolicy {
	/**
	 * Optional expression filter. If filterExp exists and evaluates to false, the specific batch key
	 * request is not performed and {@link com.aerospike.client.BatchRecord#resultCode} is set to
	 * {@link com.aerospike.client.ResultCode#FILTERED_OUT}.
	 * 

* If exists, this filter overrides the batch parent filter {@link com.aerospike.client.policy.Policy#filterExp} * for the specific key in batch commands that allow a different policy per key. * Otherwise, this filter is ignored. *

* Default: null */ public Expression filterExp; /** * Read policy for AP (availability) namespaces. *

* Default: {@link ReadModeAP#ONE} */ public ReadModeAP readModeAP = ReadModeAP.ONE; /** * Read policy for SC (strong consistency) namespaces. *

* Default: {@link ReadModeSC#SESSION} */ public ReadModeSC readModeSC = ReadModeSC.SESSION; /** * Determine how record TTL (time to live) is affected on reads. When enabled, the server can * efficiently operate as a read-based LRU cache where the least recently used records are expired. * The value is expressed as a percentage of the TTL sent on the most recent write such that a read * within this interval of the record’s end of life will generate a touch. *

* For example, if the most recent write had a TTL of 10 hours and read_touch_ttl_percent is set to * 80, the next read within 8 hours of the record's end of life (equivalent to 2 hours after the most * recent write) will result in a touch, resetting the TTL to another 10 hours. *

* Values: *

    *
  • 0 : Use server config default-read-touch-ttl-pct for the record's namespace/set.
  • *
  • -1 : Do not reset record TTL on reads.
  • *
  • 1 - 100 : Reset record TTL on reads when within this percentage of the most recent write TTL.
  • *
*
  • *

    * Default: 0 */ public int readTouchTtlPercent; /** * Copy constructor. */ public BatchReadPolicy(BatchReadPolicy other) { this.filterExp = other.filterExp; this.readModeAP = other.readModeAP; this.readModeSC = other.readModeSC; this.readTouchTtlPercent = other.readTouchTtlPercent; } /** * Default constructor. */ public BatchReadPolicy() { } // Include setters to facilitate Spring's ConfigurationProperties. public void setFilterExp(Expression filterExp) { this.filterExp = filterExp; } public void setReadModeAP(ReadModeAP readModeAP) { this.readModeAP = readModeAP; } public void setReadModeSC(ReadModeSC readModeSC) { this.readModeSC = readModeSC; } public void setReadTouchTtlPercent(int readTouchTtlPercent) { this.readTouchTtlPercent = readTouchTtlPercent; } }





  • © 2015 - 2024 Weber Informatics LLC | Privacy Policy