public class RedisAtomicDouble extends Number implements Serializable, BoundKeyOperations<String>
Constructor and Description |
---|
RedisAtomicDouble(String redisCounter,
RedisConnectionFactory factory)
Constructs a new
RedisAtomicDouble instance. |
RedisAtomicDouble(String redisCounter,
RedisConnectionFactory factory,
double initialValue)
Constructs a new
RedisAtomicDouble instance with a initialValue that overwrites the existing value. |
RedisAtomicDouble(String redisCounter,
RedisOperations<String,Double> template)
Constructs a new
RedisAtomicDouble instance. |
RedisAtomicDouble(String redisCounter,
RedisOperations<String,Double> template,
double initialValue)
Constructs a new
RedisAtomicDouble instance with a initialValue that overwrites the existing value
at redisCounter . |
Modifier and Type | Method and Description |
---|---|
double |
accumulateAndGet(double updateValue,
DoubleBinaryOperator accumulatorFunction)
Atomically update the current value using the given
accumulator function . |
double |
addAndGet(double delta)
Atomically add the given value to current value.
|
boolean |
compareAndSet(double expect,
double update)
Atomically set the value to the given updated value if the current value
== the expected value. |
double |
decrementAndGet()
Atomically decrement by one the current value.
|
double |
doubleValue() |
Boolean |
expire(long timeout,
TimeUnit unit)
Sets the key time-to-live/expiration.
|
Boolean |
expireAt(Date date)
Sets the key time-to-live/expiration.
|
float |
floatValue() |
double |
get()
Get the current value.
|
double |
getAndAccumulate(double updateValue,
DoubleBinaryOperator accumulatorFunction)
Atomically update the current value using the given
accumulator function . |
double |
getAndAdd(double delta)
Atomically add the given value to current value.
|
double |
getAndDecrement()
Atomically decrement by one the current value.
|
double |
getAndIncrement()
Atomically increment by one the current value.
|
double |
getAndSet(double newValue)
Set to the given value and return the old value.
|
double |
getAndUpdate(DoubleUnaryOperator updateFunction)
Atomically update the current value using the given
update function . |
Long |
getExpire()
Returns the expiration of this key.
|
String |
getKey()
Returns the key associated with this entity.
|
DataType |
getType()
Returns the associated Redis type.
|
double |
incrementAndGet()
Atomically increment by one the current value.
|
int |
intValue() |
long |
longValue() |
Boolean |
persist()
Removes the expiration (if any) of the key.
|
void |
rename(String newKey)
Renames the key.
|
void |
set(double newValue)
Set to the given value.
|
String |
toString() |
double |
updateAndGet(DoubleUnaryOperator updateFunction)
Atomically update the current value using the given
update function . |
byteValue, shortValue
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
expire, expireAt
public RedisAtomicDouble(String redisCounter, RedisConnectionFactory factory)
RedisAtomicDouble
instance. Uses the value existing in Redis or 0
if none is
found.redisCounter
- Redis key of this counter.factory
- connection factory.public RedisAtomicDouble(String redisCounter, RedisConnectionFactory factory, double initialValue)
RedisAtomicDouble
instance with a initialValue
that overwrites the existing value.redisCounter
- Redis key of this counter.factory
- connection factory.initialValue
- initial value to set.public RedisAtomicDouble(String redisCounter, RedisOperations<String,Double> template)
RedisAtomicDouble
instance. Uses the value existing in Redis or 0 if none is found.redisCounter
- Redis key of this counter.template
- the template.RedisAtomicDouble(String, RedisConnectionFactory, double)
public RedisAtomicDouble(String redisCounter, RedisOperations<String,Double> template, double initialValue)
RedisAtomicDouble
instance with a initialValue
that overwrites the existing value
at redisCounter
.
Note: You need to configure the given template
with appropriate RedisSerializer
for the key and
value.
As an alternative one could use the RedisAtomicDouble(String, RedisConnectionFactory, Double)
constructor
which uses appropriate default serializers.
redisCounter
- Redis key of this counter.template
- the templateinitialValue
- initial value to set if the Redis key is absent.public double get()
public void set(double newValue)
newValue
- the new value.public double getAndSet(double newValue)
newValue
- the new value.public boolean compareAndSet(double expect, double update)
==
the expected value.expect
- the expected value.update
- the new value.public double getAndIncrement()
public double getAndDecrement()
public double getAndAdd(double delta)
delta
- the value to add.public double getAndUpdate(DoubleUnaryOperator updateFunction)
update function
.updateFunction
- the function which calculates the value to set. Should be a pure function (no side effects),
because it will be applied several times if update attempts fail due to concurrent calls. Must not be
null.public double getAndAccumulate(double updateValue, DoubleBinaryOperator accumulatorFunction)
accumulator function
. The new
value is calculated by applying the accumulator function to the current value and the given updateValue
.updateValue
- the value which will be passed into the accumulator function.accumulatorFunction
- the function which calculates the value to set. Should be a pure function (no side
effects), because it will be applied several times if update attempts fail due to concurrent calls. Must
not be null.public double incrementAndGet()
public double decrementAndGet()
public double addAndGet(double delta)
delta
- the value to add.public double updateAndGet(DoubleUnaryOperator updateFunction)
update function
.updateFunction
- the function which calculates the value to set. Should be a pure function (no side effects),
because it will be applied several times if update attempts fail due to concurrent calls. Must not be
null.public double accumulateAndGet(double updateValue, DoubleBinaryOperator accumulatorFunction)
accumulator function
. The new
value is calculated by applying the accumulator function to the current value and the given updateValue
.updateValue
- the value which will be passed into the accumulator function.accumulatorFunction
- the function which calculates the value to set. Should be a pure function (no side
effects), because it will be applied several times if update attempts fail due to concurrent calls. Must
not be null.public String toString()
public String getKey()
BoundKeyOperations
getKey
in interface BoundKeyOperations<String>
public DataType getType()
BoundKeyOperations
getType
in interface BoundKeyOperations<String>
public Long getExpire()
BoundKeyOperations
getExpire
in interface BoundKeyOperations<String>
public Boolean expire(long timeout, TimeUnit unit)
BoundKeyOperations
expire
in interface BoundKeyOperations<String>
timeout
- expiration valueunit
- expiration unitpublic Boolean expireAt(Date date)
BoundKeyOperations
expireAt
in interface BoundKeyOperations<String>
date
- expiration datepublic Boolean persist()
BoundKeyOperations
persist
in interface BoundKeyOperations<String>
public void rename(String newKey)
BoundKeyOperations
rename
in interface BoundKeyOperations<String>
newKey
- new key. Must not be null.public float floatValue()
floatValue
in class Number
public double doubleValue()
doubleValue
in class Number
Copyright © 2011–2020 Pivotal Software, Inc.. All rights reserved.