Skip to content

Commit 9abb0f2

Browse files
Merge branch 'main' into DOC-5596-range-query-examples
2 parents ce65394 + 279849f commit 9abb0f2

File tree

101 files changed

+9969
-1462
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

101 files changed

+9969
-1462
lines changed

.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,4 +16,5 @@ dependency-reduced-pom.xml
1616
.idea
1717
.flattened-pom.xml
1818
*.java-version
19-
*.DS_Store
19+
*.DS_Store
20+
.vscode*

docs/static/benchmarks/data.js

Lines changed: 1273 additions & 1 deletion
Large diffs are not rendered by default.

src/main/java/io/lettuce/core/AbstractRedisAsyncCommands.java

Lines changed: 51 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,7 @@
8989
* @author dengliming
9090
* @author Andrey Shlykov
9191
* @author Ali Takavci
92+
* @author SeugnSu Kim
9293
*/
9394
@SuppressWarnings("unchecked")
9495
public abstract class AbstractRedisAsyncCommands<K, V> implements RedisAclAsyncCommands<K, V>, RedisHashAsyncCommands<K, V>,
@@ -1112,11 +1113,6 @@ public RedisFuture<List<Map<String, Object>>> functionList(String libraryName) {
11121113
return dispatch(commandBuilder.functionList(libraryName));
11131114
}
11141115

1115-
@Override
1116-
public void flushCommands() {
1117-
connection.flushCommands();
1118-
}
1119-
11201116
@Override
11211117
public RedisFuture<String> flushall() {
11221118
return dispatch(commandBuilder.flushall());
@@ -1552,11 +1548,6 @@ public RedisFuture<String> info(String section) {
15521548
return dispatch(commandBuilder.info(section));
15531549
}
15541550

1555-
@Override
1556-
public boolean isOpen() {
1557-
return connection.isOpen();
1558-
}
1559-
15601551
@Override
15611552
public RedisFuture<String> ftCreate(K index, CreateArgs<K, V> options, List<FieldArgs<K>> fieldArgs) {
15621553
return dispatch(searchCommandBuilder.ftCreate(index, options, fieldArgs));
@@ -1737,6 +1728,16 @@ public RedisFuture<List<Long>> jsonArrappend(K key, JsonValue... values) {
17371728
return dispatch(jsonCommandBuilder.jsonArrappend(key, JsonPath.ROOT_PATH, values));
17381729
}
17391730

1731+
@Override
1732+
public RedisFuture<List<Long>> jsonArrappend(K key, JsonPath jsonPath, String... jsonStrings) {
1733+
return dispatch(jsonCommandBuilder.jsonArrappend(key, jsonPath, jsonStrings));
1734+
}
1735+
1736+
@Override
1737+
public RedisFuture<List<Long>> jsonArrappend(K key, String... jsonStrings) {
1738+
return dispatch(jsonCommandBuilder.jsonArrappend(key, JsonPath.ROOT_PATH, jsonStrings));
1739+
}
1740+
17401741
@Override
17411742
public RedisFuture<List<Long>> jsonArrindex(K key, JsonPath jsonPath, JsonValue value, JsonRangeArgs range) {
17421743
return dispatch(jsonCommandBuilder.jsonArrindex(key, jsonPath, value, range));
@@ -1747,11 +1748,26 @@ public RedisFuture<List<Long>> jsonArrindex(K key, JsonPath jsonPath, JsonValue
17471748
return dispatch(jsonCommandBuilder.jsonArrindex(key, jsonPath, value, JsonRangeArgs.Builder.defaults()));
17481749
}
17491750

1751+
@Override
1752+
public RedisFuture<List<Long>> jsonArrindex(K key, JsonPath jsonPath, String jsonString, JsonRangeArgs range) {
1753+
return dispatch(jsonCommandBuilder.jsonArrindex(key, jsonPath, jsonString, range));
1754+
}
1755+
1756+
@Override
1757+
public RedisFuture<List<Long>> jsonArrindex(K key, JsonPath jsonPath, String jsonString) {
1758+
return dispatch(jsonCommandBuilder.jsonArrindex(key, jsonPath, jsonString, JsonRangeArgs.Builder.defaults()));
1759+
}
1760+
17501761
@Override
17511762
public RedisFuture<List<Long>> jsonArrinsert(K key, JsonPath jsonPath, int index, JsonValue... values) {
17521763
return dispatch(jsonCommandBuilder.jsonArrinsert(key, jsonPath, index, values));
17531764
}
17541765

1766+
@Override
1767+
public RedisFuture<List<Long>> jsonArrinsert(K key, JsonPath jsonPath, int index, String... jsonStrings) {
1768+
return dispatch(jsonCommandBuilder.jsonArrinsert(key, jsonPath, index, jsonStrings));
1769+
}
1770+
17551771
@Override
17561772
public RedisFuture<List<Long>> jsonArrlen(K key, JsonPath jsonPath) {
17571773
return dispatch(jsonCommandBuilder.jsonArrlen(key, jsonPath));
@@ -1817,6 +1833,11 @@ public RedisFuture<String> jsonMerge(K key, JsonPath jsonPath, JsonValue value)
18171833
return dispatch(jsonCommandBuilder.jsonMerge(key, jsonPath, value));
18181834
}
18191835

1836+
@Override
1837+
public RedisFuture<String> jsonMerge(K key, JsonPath jsonPath, String jsonString) {
1838+
return dispatch(jsonCommandBuilder.jsonMerge(key, jsonPath, jsonString));
1839+
}
1840+
18201841
@Override
18211842
public RedisFuture<List<JsonValue>> jsonMGet(JsonPath jsonPath, K... keys) {
18221843
return dispatch(jsonCommandBuilder.jsonMGet(jsonPath, keys));
@@ -1862,6 +1883,16 @@ public RedisFuture<String> jsonSet(K key, JsonPath jsonPath, JsonValue value) {
18621883
return dispatch(jsonCommandBuilder.jsonSet(key, jsonPath, value, JsonSetArgs.Builder.defaults()));
18631884
}
18641885

1886+
@Override
1887+
public RedisFuture<String> jsonSet(K key, JsonPath jsonPath, String jsonString, JsonSetArgs options) {
1888+
return dispatch(jsonCommandBuilder.jsonSet(key, jsonPath, jsonString, options));
1889+
}
1890+
1891+
@Override
1892+
public RedisFuture<String> jsonSet(K key, JsonPath jsonPath, String jsonString) {
1893+
return dispatch(jsonCommandBuilder.jsonSet(key, jsonPath, jsonString, JsonSetArgs.Builder.defaults()));
1894+
}
1895+
18651896
@Override
18661897
public RedisFuture<List<Long>> jsonStrappend(K key, JsonPath jsonPath, JsonValue value) {
18671898
return dispatch(jsonCommandBuilder.jsonStrappend(key, jsonPath, value));
@@ -1872,6 +1903,16 @@ public RedisFuture<List<Long>> jsonStrappend(K key, JsonValue value) {
18721903
return dispatch(jsonCommandBuilder.jsonStrappend(key, JsonPath.ROOT_PATH, value));
18731904
}
18741905

1906+
@Override
1907+
public RedisFuture<List<Long>> jsonStrappend(K key, JsonPath jsonPath, String jsonString) {
1908+
return dispatch(jsonCommandBuilder.jsonStrappend(key, jsonPath, jsonString));
1909+
}
1910+
1911+
@Override
1912+
public RedisFuture<List<Long>> jsonStrappend(K key, String jsonString) {
1913+
return dispatch(jsonCommandBuilder.jsonStrappend(key, JsonPath.ROOT_PATH, jsonString));
1914+
}
1915+
18751916
@Override
18761917
public RedisFuture<List<Long>> jsonStrlen(K key, JsonPath jsonPath) {
18771918
return dispatch(jsonCommandBuilder.jsonStrlen(key, jsonPath));
@@ -2552,11 +2593,6 @@ public RedisFuture<V> setGet(K key, V value, SetArgs setArgs) {
25522593
return dispatch(commandBuilder.setGet(key, value, setArgs));
25532594
}
25542595

2555-
@Override
2556-
public void setAutoFlushCommands(boolean autoFlush) {
2557-
connection.setAutoFlushCommands(autoFlush);
2558-
}
2559-
25602596
@Override
25612597
public void setTimeout(Duration timeout) {
25622598
connection.setTimeout(timeout);

src/main/java/io/lettuce/core/AbstractRedisClient.java

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@
2020
package io.lettuce.core;
2121

2222
import java.io.Closeable;
23+
import java.net.InetAddress;
24+
import java.net.InetSocketAddress;
2325
import java.net.SocketAddress;
2426
import java.time.Duration;
2527
import java.util.ArrayList;
@@ -34,6 +36,7 @@
3436
import java.util.concurrent.atomic.AtomicBoolean;
3537
import java.util.concurrent.atomic.AtomicInteger;
3638

39+
import io.lettuce.core.MaintenanceEventsOptions.AddressTypeSource;
3740
import reactor.core.publisher.Mono;
3841
import io.lettuce.core.event.command.CommandListener;
3942
import io.lettuce.core.event.connection.ConnectEvent;
@@ -586,8 +589,16 @@ private CompletableFuture<Void> closeClientResources(long quietPeriod, long time
586589
}
587590

588591
protected RedisHandshake createHandshake(ConnectionState state) {
592+
AddressTypeSource source = null;
593+
if (clientOptions.getMaintenanceEventsOptions().supportsMaintenanceEvents()) {
594+
LettuceAssert.notNull(clientOptions.getMaintenanceEventsOptions().getAddressTypeSource(),
595+
"Address type source must not be null");
596+
597+
source = clientOptions.getMaintenanceEventsOptions().getAddressTypeSource();
598+
}
599+
589600
return new RedisHandshake(clientOptions.getConfiguredProtocolVersion(), clientOptions.isPingBeforeActivateConnection(),
590-
state);
601+
state, source);
591602
}
592603

593604
}

src/main/java/io/lettuce/core/AbstractRedisReactiveCommands.java

Lines changed: 52 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,7 @@
9898
* @author Andrey Shlykov
9999
* @author Ali Takavci
100100
* @author Tihomir Mateev
101+
* @author SeugnSu Kim
101102
* @since 4.0
102103
*/
103104
public abstract class AbstractRedisReactiveCommands<K, V>
@@ -491,10 +492,6 @@ public Mono<Long> clientUnblock(long id, UnblockType type) {
491492
return createMono(() -> commandBuilder.clientUnblock(id, type));
492493
}
493494

494-
public void close() {
495-
connection.close();
496-
}
497-
498495
@Override
499496
public Mono<String> clusterAddSlots(int... slots) {
500497
return createMono(() -> commandBuilder.clusterAddslots(slots));
@@ -1176,11 +1173,6 @@ public Flux<Map<String, Object>> functionList(String libraryName) {
11761173
return createDissolvingFlux(() -> commandBuilder.functionList(libraryName));
11771174
}
11781175

1179-
@Override
1180-
public void flushCommands() {
1181-
connection.flushCommands();
1182-
}
1183-
11841176
@Override
11851177
public Mono<String> flushall() {
11861178
return createMono(commandBuilder::flushall);
@@ -1617,11 +1609,6 @@ public Mono<String> info(String section) {
16171609
return createMono(() -> commandBuilder.info(section));
16181610
}
16191611

1620-
@Override
1621-
public boolean isOpen() {
1622-
return connection.isOpen();
1623-
}
1624-
16251612
@Override
16261613
public Mono<String> ftCreate(K index, CreateArgs<K, V> options, List<FieldArgs<K>> fieldArgs) {
16271614
return createMono(() -> searchCommandBuilder.ftCreate(index, options, fieldArgs));
@@ -1802,6 +1789,16 @@ public Flux<Long> jsonArrappend(K key, JsonValue... values) {
18021789
return createDissolvingFlux(() -> jsonCommandBuilder.jsonArrappend(key, JsonPath.ROOT_PATH, values));
18031790
}
18041791

1792+
@Override
1793+
public Flux<Long> jsonArrappend(K key, JsonPath jsonPath, String... jsonStrings) {
1794+
return createDissolvingFlux(() -> jsonCommandBuilder.jsonArrappend(key, jsonPath, jsonStrings));
1795+
}
1796+
1797+
@Override
1798+
public Flux<Long> jsonArrappend(K key, String... jsonStrings) {
1799+
return createDissolvingFlux(() -> jsonCommandBuilder.jsonArrappend(key, JsonPath.ROOT_PATH, jsonStrings));
1800+
}
1801+
18051802
@Override
18061803
public Flux<Long> jsonArrindex(K key, JsonPath jsonPath, JsonValue value, JsonRangeArgs range) {
18071804
return createDissolvingFlux(() -> jsonCommandBuilder.jsonArrindex(key, jsonPath, value, range));
@@ -1813,11 +1810,27 @@ public Flux<Long> jsonArrindex(K key, JsonPath jsonPath, JsonValue value) {
18131810
return createDissolvingFlux(() -> jsonCommandBuilder.jsonArrindex(key, jsonPath, value, args));
18141811
}
18151812

1813+
@Override
1814+
public Flux<Long> jsonArrindex(K key, JsonPath jsonPath, String jsonString, JsonRangeArgs range) {
1815+
return createDissolvingFlux(() -> jsonCommandBuilder.jsonArrindex(key, jsonPath, jsonString, range));
1816+
}
1817+
1818+
@Override
1819+
public Flux<Long> jsonArrindex(K key, JsonPath jsonPath, String jsonString) {
1820+
return createDissolvingFlux(
1821+
() -> jsonCommandBuilder.jsonArrindex(key, jsonPath, jsonString, JsonRangeArgs.Builder.defaults()));
1822+
}
1823+
18161824
@Override
18171825
public Flux<Long> jsonArrinsert(K key, JsonPath jsonPath, int index, JsonValue... values) {
18181826
return createDissolvingFlux(() -> jsonCommandBuilder.jsonArrinsert(key, jsonPath, index, values));
18191827
}
18201828

1829+
@Override
1830+
public Flux<Long> jsonArrinsert(K key, JsonPath jsonPath, int index, String... jsonStrings) {
1831+
return createDissolvingFlux(() -> jsonCommandBuilder.jsonArrinsert(key, jsonPath, index, jsonStrings));
1832+
}
1833+
18211834
@Override
18221835
public Flux<Long> jsonArrlen(K key, JsonPath jsonPath) {
18231836
return createDissolvingFlux(() -> jsonCommandBuilder.jsonArrlen(key, jsonPath));
@@ -1884,6 +1897,11 @@ public Mono<String> jsonMerge(K key, JsonPath jsonPath, JsonValue value) {
18841897
return createMono(() -> jsonCommandBuilder.jsonMerge(key, jsonPath, value));
18851898
}
18861899

1900+
@Override
1901+
public Mono<String> jsonMerge(K key, JsonPath jsonPath, String jsonString) {
1902+
return createMono(() -> jsonCommandBuilder.jsonMerge(key, jsonPath, jsonString));
1903+
}
1904+
18871905
@Override
18881906
public Flux<JsonValue> jsonMGet(JsonPath jsonPath, K... keys) {
18891907
return createDissolvingFlux(() -> jsonCommandBuilder.jsonMGet(jsonPath, keys));
@@ -1930,6 +1948,16 @@ public Mono<String> jsonSet(K key, JsonPath jsonPath, JsonValue value) {
19301948
return createMono(() -> jsonCommandBuilder.jsonSet(key, jsonPath, value, args));
19311949
}
19321950

1951+
@Override
1952+
public Mono<String> jsonSet(K key, JsonPath jsonPath, String jsonString, JsonSetArgs options) {
1953+
return createMono(() -> jsonCommandBuilder.jsonSet(key, jsonPath, jsonString, options));
1954+
}
1955+
1956+
@Override
1957+
public Mono<String> jsonSet(K key, JsonPath jsonPath, String jsonString) {
1958+
return createMono(() -> jsonCommandBuilder.jsonSet(key, jsonPath, jsonString, JsonSetArgs.Builder.defaults()));
1959+
}
1960+
19331961
@Override
19341962
public Flux<Long> jsonStrappend(K key, JsonPath jsonPath, JsonValue value) {
19351963
return createDissolvingFlux(() -> jsonCommandBuilder.jsonStrappend(key, jsonPath, value));
@@ -1940,6 +1968,16 @@ public Flux<Long> jsonStrappend(K key, JsonValue value) {
19401968
return createDissolvingFlux(() -> jsonCommandBuilder.jsonStrappend(key, JsonPath.ROOT_PATH, value));
19411969
}
19421970

1971+
@Override
1972+
public Flux<Long> jsonStrappend(K key, JsonPath jsonPath, String jsonString) {
1973+
return createDissolvingFlux(() -> jsonCommandBuilder.jsonStrappend(key, jsonPath, jsonString));
1974+
}
1975+
1976+
@Override
1977+
public Flux<Long> jsonStrappend(K key, String jsonString) {
1978+
return createDissolvingFlux(() -> jsonCommandBuilder.jsonStrappend(key, JsonPath.ROOT_PATH, jsonString));
1979+
}
1980+
19431981
@Override
19441982
public Flux<Long> jsonStrlen(K key, JsonPath jsonPath) {
19451983
return createDissolvingFlux(() -> jsonCommandBuilder.jsonStrlen(key, jsonPath));
@@ -2636,11 +2674,6 @@ public Mono<V> setGet(K key, V value, SetArgs setArgs) {
26362674
return createMono(() -> commandBuilder.setGet(key, value, setArgs));
26372675
}
26382676

2639-
@Override
2640-
public void setAutoFlushCommands(boolean autoFlush) {
2641-
connection.setAutoFlushCommands(autoFlush);
2642-
}
2643-
26442677
@Override
26452678
public void setTimeout(Duration timeout) {
26462679
connection.setTimeout(timeout);

0 commit comments

Comments
 (0)