org.redisson.api.RClientSideCaching Maven / Gradle / Ivy
Show all versions of redisson Show documentation
/**
* Copyright (c) 2013-2024 Nikita Koksharov
*
* 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 org.redisson.api;
import org.redisson.client.codec.Codec;
/**
*
* @author Nikita Koksharov
*
*/
public interface RClientSideCaching extends RDestroyable {
/**
* Returns object holder instance by name.
*
* @param type of value
* @param name name of object
* @return Bucket object
*/
RBucket getBucket(String name);
/**
* Returns object holder instance by name
* using provided codec for object.
*
* @param type of value
* @param name name of object
* @param codec codec for values
* @return Bucket object
*/
RBucket getBucket(String name, Codec codec);
/**
* Returns stream instance by name
*
* Requires Redis 5.0.0 and higher.
*
* @param type of key
* @param type of value
* @param name of stream
* @return RStream object
*/
RStream getStream(String name);
/**
* Returns stream instance by name
* using provided codec
for entries.
*
* Requires Redis 5.0.0 and higher.
*
* @param type of key
* @param type of value
* @param name name of stream
* @param codec codec for entry
* @return RStream object
*/
RStream getStream(String name, Codec codec);
/**
* Returns set instance by name.
*
* @param type of value
* @param name name of object
* @return Set object
*/
RSet getSet(String name);
/**
* Returns set instance by name
* using provided codec for set objects.
*
* @param type of value
* @param name name of object
* @param codec codec for values
* @return Set object
*/
RSet getSet(String name, Codec codec);
/**
* Returns map instance by name.
*
*
* NOTE: client side caching feature invalidates whole Map per entry change which is ineffective.
* Use local cached Map, JSON Store instead.
*
*
* @param type of key
* @param type of value
* @param name name of object
* @return Map object
*/
RMap getMap(String name);
/**
* Returns map instance by name
* using provided codec for both map keys and values.
*
*
* NOTE: client side caching feature invalidates whole Map per entry change which is ineffective.
* Use local cached Map, JSON Store instead.
*
*
* @param type of key
* @param type of value
* @param name name of object
* @param codec codec for keys and values
* @return Map object
*/
RMap getMap(String name, Codec codec);
/**
* Returns Redis Sorted Set instance by name.
* This sorted set sorts objects by object score.
*
* @param type of value
* @param name name of object
* @return ScoredSortedSet object
*/
RScoredSortedSet getScoredSortedSet(String name);
/**
* Returns Redis Sorted Set instance by name
* using provided codec for sorted set objects.
* This sorted set sorts objects by object score.
*
* @param type of value
* @param name name of object
* @param codec codec for values
* @return ScoredSortedSet object
*/
RScoredSortedSet getScoredSortedSet(String name, Codec codec);
/**
* Returns list instance by name.
*
* @param type of value
* @param name name of object
* @return List object
*/
RList getList(String name);
/**
* Returns list instance by name
* using provided codec for list objects.
*
* @param type of value
* @param name name of object
* @param codec codec for values
* @return List object
*/
RList getList(String name, Codec codec);
/**
* Returns unbounded queue instance by name.
*
* @param type of value
* @param name of object
* @return queue object
*/
RQueue getQueue(String name);
/**
* Returns unbounded queue instance by name
* using provided codec for queue objects.
*
* @param type of value
* @param name name of object
* @param codec codec for message
* @return Queue object
*/
RQueue getQueue(String name, Codec codec);
/**
* Returns unbounded deque instance by name.
*
* @param type of value
* @param name name of object
* @return Deque object
*/
RDeque getDeque(String name);
/**
* Returns unbounded deque instance by name
* using provided codec for deque objects.
*
* @param type of value
* @param name name of object
* @param codec codec for values
* @return Deque object
*/
RDeque getDeque(String name, Codec codec);
/**
* Returns unbounded blocking queue instance by name.
*
* @param type of value
* @param name name of object
* @return BlockingQueue object
*/
RBlockingQueue getBlockingQueue(String name);
/**
* Returns unbounded blocking queue instance by name
* using provided codec for queue objects.
*
* @param type of value
* @param name name of queue
* @param codec queue objects codec
* @return BlockingQueue object
*/
RBlockingQueue getBlockingQueue(String name, Codec codec);
/**
* Returns unbounded blocking deque instance by name.
*
* @param type of value
* @param name name of object
* @return BlockingDeque object
*/
RBlockingDeque getBlockingDeque(String name);
/**
* Returns unbounded blocking deque instance by name
* using provided codec for deque objects.
*
* @param type of value
* @param name name of object
* @param codec deque objects codec
* @return BlockingDeque object
*/
RBlockingDeque getBlockingDeque(String name, Codec codec);
/**
* Returns geospatial items holder instance by name
.
*
* @param type of value
* @param name name of object
* @return Geo object
*/
RGeo getGeo(String name);
/**
* Returns geospatial items holder instance by name
* using provided codec for geospatial members.
*
* @param type of value
* @param name name of object
* @param codec codec for value
* @return Geo object
*/
RGeo getGeo(String name, Codec codec);
}