/*
* Copyright 2011-2018 the original author or authors.
*
* 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.springframework.data.redis.core;
import java.util.Collection;
import java.util.Set;
import org.springframework.data.redis.connection.RedisZSetCommands.Limit;
import org.springframework.data.redis.connection.RedisZSetCommands.Range;
import org.springframework.data.redis.connection.RedisZSetCommands.Tuple;
import org.springframework.lang.Nullable;
/**
* Redis ZSet/sorted set specific operations.
*
* @author Costin Leau
* @author Christoph Strobl
* @author Mark Paluch
* @author Rosty Kerei
*/
public interface ZSetOperations<K, V> {
/**
* Typed ZSet tuple.
*/
interface TypedTuple<V> extends Comparable<TypedTuple<V>> {
@Nullable
V getValue();
@Nullable
Double getScore();
}
/**
* Add {@code value} to a sorted set at {@code key}, or update its {@code score} if it already exists.
*
* @param key must not be {@literal null}.
* @param score the score.
* @param value the value.
* @return {@literal null} when used in pipeline / transaction.
* @see <a href="http://redis.io/commands/zadd">Redis Documentation: ZADD</a>
*/
@Nullable
Boolean add(K key, V value, double score);
/**
* Add {@code tuples} to a sorted set at {@code key}, or update its {@code score} if it already exists.
*
* @param key must not be {@literal null}.
* @param tuples must not be {@literal null}.
* @return {@literal null} when used in pipeline / transaction.
* @see <a href="http://redis.io/commands/zadd">Redis Documentation: ZADD</a>
*/
@Nullable
Long add(K key, Set<TypedTuple<V>> tuples);
/**
* Remove {@code values} from sorted set. Return number of removed elements.
*
* @param key must not be {@literal null}.
* @param values must not be {@literal null}.
* @return {@literal null} when used in pipeline / transaction.
* @see <a href="http://redis.io/commands/zrem">Redis Documentation: ZREM</a>
*/
@Nullable
Long remove(K key, Object.
Redis进阶之六:StringRedisTemplate的opsForZSet Api梳理和应用
最新推荐文章于 2024-09-14 08:36:02 发布
本文将详细梳理Java中StringRedisTemplate的opsForZSet API,探讨其在Redis分布式缓存中如何进行有序集合的操作,包括添加、删除、获取分数、范围查询等关键功能,并通过实例解析其实现细节与应用场景。
摘要由CSDN通过智能技术生成