@Override public Mono<Boolean> add(K key, V value, double score) { Assert.notNull(key, "Key must not be null!"); return createMono(connection -> connection.zAdd(rawKey(key), score, rawValue(value)).map(l -> l != 0)); }
@Override @SuppressWarnings("unchecked") public Mono<Long> rank(K key, Object o) { Assert.notNull(key, "Key must not be null!"); return createMono(connection -> connection.zRank(rawKey(key), rawValue((V) o))); }
@Override public Mono<Double> incrementScore(K key, V value, double delta) { Assert.notNull(key, "Key must not be null!"); return createMono(connection -> connection.zIncrBy(rawKey(key), delta, rawValue(value))); }
@Override @SuppressWarnings("unchecked") public Mono<Long> reverseRank(K key, Object o) { Assert.notNull(key, "Key must not be null!"); return createMono(connection -> connection.zRevRank(rawKey(key), rawValue((V) o))); }
@Override @SuppressWarnings("unchecked") public Mono<Double> score(K key, Object o) { Assert.notNull(key, "Key must not be null!"); return createMono(connection -> connection.zScore(rawKey(key), rawValue((V) o))); }
@Override public Mono<Long> addAll(K key, Collection<? extends TypedTuple<V>> tuples) { Assert.notNull(key, "Key must not be null!"); Assert.notNull(tuples, "Key must not be null!"); return createMono(connection -> Flux.fromIterable(tuples) // .map(t -> new DefaultTuple(ByteUtils.getBytes(rawValue(t.getValue())), t.getScore())) // .collectList() // .flatMap(serialized -> connection.zAdd(rawKey(key), serialized))); }
@Override @SuppressWarnings("unchecked") public Mono<Long> remove(K key, Object... values) { Assert.notNull(key, "Key must not be null!"); Assert.notNull(values, "Values must not be null!"); if (values.length == 1) { return createMono(connection -> connection.zRem(rawKey(key), rawValue((V) values[0]))); } return createMono(connection -> Flux.fromArray((V[]) values) // .map(this::rawValue) // .collectList() // .flatMap(serialized -> connection.zRem(rawKey(key), serialized))); }
@Override public Mono<Boolean> add(K key, V value, double score) { Assert.notNull(key, "Key must not be null!"); return createMono(connection -> connection.zAdd(rawKey(key), score, rawValue(value)).map(l -> l != 0)); }
@Override public Mono<Boolean> add(K key, V value, double score) { Assert.notNull(key, "Key must not be null!"); return createMono(connection -> connection.zAdd(rawKey(key), score, rawValue(value)).map(l -> l != 0)); }
@Override public Mono<Double> incrementScore(K key, V value, double delta) { Assert.notNull(key, "Key must not be null!"); return createMono(connection -> connection.zIncrBy(rawKey(key), delta, rawValue(value))); }
@Override @SuppressWarnings("unchecked") public Mono<Double> score(K key, Object o) { Assert.notNull(key, "Key must not be null!"); return createMono(connection -> connection.zScore(rawKey(key), rawValue((V) o))); }
@Override @SuppressWarnings("unchecked") public Mono<Long> rank(K key, Object o) { Assert.notNull(key, "Key must not be null!"); return createMono(connection -> connection.zRank(rawKey(key), rawValue((V) o))); }
@Override @SuppressWarnings("unchecked") public Mono<Long> reverseRank(K key, Object o) { Assert.notNull(key, "Key must not be null!"); return createMono(connection -> connection.zRevRank(rawKey(key), rawValue((V) o))); }
@Override @SuppressWarnings("unchecked") public Mono<Long> rank(K key, Object o) { Assert.notNull(key, "Key must not be null!"); return createMono(connection -> connection.zRank(rawKey(key), rawValue((V) o))); }
@Override @SuppressWarnings("unchecked") public Mono<Double> score(K key, Object o) { Assert.notNull(key, "Key must not be null!"); return createMono(connection -> connection.zScore(rawKey(key), rawValue((V) o))); }
@Override public Mono<Double> incrementScore(K key, V value, double delta) { Assert.notNull(key, "Key must not be null!"); return createMono(connection -> connection.zIncrBy(rawKey(key), delta, rawValue(value))); }
@Override @SuppressWarnings("unchecked") public Mono<Long> reverseRank(K key, Object o) { Assert.notNull(key, "Key must not be null!"); return createMono(connection -> connection.zRevRank(rawKey(key), rawValue((V) o))); }
@Override @SuppressWarnings("unchecked") public Mono<Long> remove(K key, Object... values) { Assert.notNull(key, "Key must not be null!"); Assert.notNull(values, "Values must not be null!"); if (values.length == 1) { return createMono(connection -> connection.zRem(rawKey(key), rawValue((V) values[0]))); } return createMono(connection -> Flux.fromArray((V[]) values) // .map(this::rawValue) // .collectList() // .flatMap(serialized -> connection.zRem(rawKey(key), serialized))); }
@Override public Mono<Long> addAll(K key, Collection<? extends TypedTuple<V>> tuples) { Assert.notNull(key, "Key must not be null!"); Assert.notNull(tuples, "Key must not be null!"); return createMono(connection -> Flux.fromIterable(tuples) // .map(t -> new DefaultTuple(ByteUtils.getBytes(rawValue(t.getValue())), t.getScore())) // .collectList() // .flatMap(serialized -> connection.zAdd(rawKey(key), serialized))); }
@Override public Mono<Long> addAll(K key, Collection<? extends TypedTuple<V>> tuples) { Assert.notNull(key, "Key must not be null!"); Assert.notNull(tuples, "Key must not be null!"); return createMono(connection -> Flux.fromIterable(tuples) // .map(t -> new DefaultTuple(ByteUtils.getBytes(rawValue(t.getValue())), t.getScore())) // .collectList() // .flatMap(serialized -> connection.zAdd(rawKey(key), serialized))); }