You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@geode.apache.org by kl...@apache.org on 2016/07/08 18:21:28 UTC
[20/21] incubator-geode git commit: GEODE-1566: rename
GeodeRedisServer and repackage redis code into org.apache.geode
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/dfd481e0/geode-core/src/main/java/com/gemstone/gemfire/internal/redis/Executor.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/com/gemstone/gemfire/internal/redis/Executor.java b/geode-core/src/main/java/com/gemstone/gemfire/internal/redis/Executor.java
deleted file mode 100755
index 3660f94..0000000
--- a/geode-core/src/main/java/com/gemstone/gemfire/internal/redis/Executor.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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 com.gemstone.gemfire.internal.redis;
-
-
-/**
- * Interface for executors of a {@link Command}
- *
- *
- */
-public interface Executor {
-
- /**
- * This method executes the command and sets the response. Any runtime errors
- * from this execution should be handled by caller to ensure the client gets
- * a response
- *
- * @param command The command to be executed
- * @param context The execution context by which this command is to be executed
- */
- public void executeCommand(Command command, ExecutionHandlerContext context);
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/dfd481e0/geode-core/src/main/java/com/gemstone/gemfire/internal/redis/Extendable.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/com/gemstone/gemfire/internal/redis/Extendable.java b/geode-core/src/main/java/com/gemstone/gemfire/internal/redis/Extendable.java
deleted file mode 100644
index edae36c..0000000
--- a/geode-core/src/main/java/com/gemstone/gemfire/internal/redis/Extendable.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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 com.gemstone.gemfire.internal.redis;
-
-/**
- * This defines a command that can be extended, and there may need some level of abstraction
- *
- *
- */
-public interface Extendable {
-
- /**
- * Getter for error message in case of argument arity mismatch
- * @return Error string
- */
- public String getArgsError();
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/dfd481e0/geode-core/src/main/java/com/gemstone/gemfire/internal/redis/RedisCommandParserException.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/com/gemstone/gemfire/internal/redis/RedisCommandParserException.java b/geode-core/src/main/java/com/gemstone/gemfire/internal/redis/RedisCommandParserException.java
deleted file mode 100755
index f02b453..0000000
--- a/geode-core/src/main/java/com/gemstone/gemfire/internal/redis/RedisCommandParserException.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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 com.gemstone.gemfire.internal.redis;
-
-/**
- * Exception thrown by CommandParser (non-existent class) when a command has illegal syntax
- *
- *
- */
-public class RedisCommandParserException extends Exception {
-
- private static final long serialVersionUID = 4707944288714910949L;
-
- public RedisCommandParserException() {
- super();
- }
-
- public RedisCommandParserException(String message) {
- super(message);
- }
-
- public RedisCommandParserException(Throwable cause) {
- super(cause);
- }
-
- public RedisCommandParserException(String message, Throwable cause) {
- super(message, cause);
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/dfd481e0/geode-core/src/main/java/com/gemstone/gemfire/internal/redis/RedisCommandType.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/com/gemstone/gemfire/internal/redis/RedisCommandType.java b/geode-core/src/main/java/com/gemstone/gemfire/internal/redis/RedisCommandType.java
deleted file mode 100755
index 12c8aba..0000000
--- a/geode-core/src/main/java/com/gemstone/gemfire/internal/redis/RedisCommandType.java
+++ /dev/null
@@ -1,2344 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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 com.gemstone.gemfire.internal.redis;
-
-import com.gemstone.gemfire.internal.redis.executor.AuthExecutor;
-import com.gemstone.gemfire.internal.redis.executor.DBSizeExecutor;
-import com.gemstone.gemfire.internal.redis.executor.DelExecutor;
-import com.gemstone.gemfire.internal.redis.executor.EchoExecutor;
-import com.gemstone.gemfire.internal.redis.executor.ExistsExecutor;
-import com.gemstone.gemfire.internal.redis.executor.ExpireAtExecutor;
-import com.gemstone.gemfire.internal.redis.executor.ExpireExecutor;
-import com.gemstone.gemfire.internal.redis.executor.FlushAllExecutor;
-import com.gemstone.gemfire.internal.redis.executor.KeysExecutor;
-import com.gemstone.gemfire.internal.redis.executor.PExpireAtExecutor;
-import com.gemstone.gemfire.internal.redis.executor.PExpireExecutor;
-import com.gemstone.gemfire.internal.redis.executor.PTTLExecutor;
-import com.gemstone.gemfire.internal.redis.executor.PersistExecutor;
-import com.gemstone.gemfire.internal.redis.executor.PingExecutor;
-import com.gemstone.gemfire.internal.redis.executor.QuitExecutor;
-import com.gemstone.gemfire.internal.redis.executor.ScanExecutor;
-import com.gemstone.gemfire.internal.redis.executor.ShutDownExecutor;
-import com.gemstone.gemfire.internal.redis.executor.TTLExecutor;
-import com.gemstone.gemfire.internal.redis.executor.TimeExecutor;
-import com.gemstone.gemfire.internal.redis.executor.TypeExecutor;
-import com.gemstone.gemfire.internal.redis.executor.UnkownExecutor;
-import com.gemstone.gemfire.internal.redis.executor.hash.HDelExecutor;
-import com.gemstone.gemfire.internal.redis.executor.hash.HExistsExecutor;
-import com.gemstone.gemfire.internal.redis.executor.hash.HGetAllExecutor;
-import com.gemstone.gemfire.internal.redis.executor.hash.HGetExecutor;
-import com.gemstone.gemfire.internal.redis.executor.hash.HIncrByExecutor;
-import com.gemstone.gemfire.internal.redis.executor.hash.HIncrByFloatExecutor;
-import com.gemstone.gemfire.internal.redis.executor.hash.HKeysExecutor;
-import com.gemstone.gemfire.internal.redis.executor.hash.HLenExecutor;
-import com.gemstone.gemfire.internal.redis.executor.hash.HMGetExecutor;
-import com.gemstone.gemfire.internal.redis.executor.hash.HMSetExecutor;
-import com.gemstone.gemfire.internal.redis.executor.hash.HScanExecutor;
-import com.gemstone.gemfire.internal.redis.executor.hash.HSetExecutor;
-import com.gemstone.gemfire.internal.redis.executor.hash.HSetNXExecutor;
-import com.gemstone.gemfire.internal.redis.executor.hash.HValsExecutor;
-import com.gemstone.gemfire.internal.redis.executor.hll.PFAddExecutor;
-import com.gemstone.gemfire.internal.redis.executor.hll.PFCountExecutor;
-import com.gemstone.gemfire.internal.redis.executor.hll.PFMergeExecutor;
-import com.gemstone.gemfire.internal.redis.executor.list.LIndexExecutor;
-import com.gemstone.gemfire.internal.redis.executor.list.LInsertExecutor;
-import com.gemstone.gemfire.internal.redis.executor.list.LLenExecutor;
-import com.gemstone.gemfire.internal.redis.executor.list.LPopExecutor;
-import com.gemstone.gemfire.internal.redis.executor.list.LPushExecutor;
-import com.gemstone.gemfire.internal.redis.executor.list.LPushXExecutor;
-import com.gemstone.gemfire.internal.redis.executor.list.LRangeExecutor;
-import com.gemstone.gemfire.internal.redis.executor.list.LRemExecutor;
-import com.gemstone.gemfire.internal.redis.executor.list.LSetExecutor;
-import com.gemstone.gemfire.internal.redis.executor.list.LTrimExecutor;
-import com.gemstone.gemfire.internal.redis.executor.list.RPopExecutor;
-import com.gemstone.gemfire.internal.redis.executor.list.RPushExecutor;
-import com.gemstone.gemfire.internal.redis.executor.list.RPushXExecutor;
-import com.gemstone.gemfire.internal.redis.executor.set.SAddExecutor;
-import com.gemstone.gemfire.internal.redis.executor.set.SCardExecutor;
-import com.gemstone.gemfire.internal.redis.executor.set.SDiffExecutor;
-import com.gemstone.gemfire.internal.redis.executor.set.SDiffStoreExecutor;
-import com.gemstone.gemfire.internal.redis.executor.set.SInterExecutor;
-import com.gemstone.gemfire.internal.redis.executor.set.SInterStoreExecutor;
-import com.gemstone.gemfire.internal.redis.executor.set.SIsMemberExecutor;
-import com.gemstone.gemfire.internal.redis.executor.set.SMembersExecutor;
-import com.gemstone.gemfire.internal.redis.executor.set.SMoveExecutor;
-import com.gemstone.gemfire.internal.redis.executor.set.SPopExecutor;
-import com.gemstone.gemfire.internal.redis.executor.set.SRandMemberExecutor;
-import com.gemstone.gemfire.internal.redis.executor.set.SRemExecutor;
-import com.gemstone.gemfire.internal.redis.executor.set.SScanExecutor;
-import com.gemstone.gemfire.internal.redis.executor.set.SUnionExecutor;
-import com.gemstone.gemfire.internal.redis.executor.set.SUnionStoreExecutor;
-import com.gemstone.gemfire.internal.redis.executor.sortedset.ZAddExecutor;
-import com.gemstone.gemfire.internal.redis.executor.sortedset.ZCardExecutor;
-import com.gemstone.gemfire.internal.redis.executor.sortedset.ZCountExecutor;
-import com.gemstone.gemfire.internal.redis.executor.sortedset.ZIncrByExecutor;
-import com.gemstone.gemfire.internal.redis.executor.sortedset.ZLexCountExecutor;
-import com.gemstone.gemfire.internal.redis.executor.sortedset.ZRangeByLexExecutor;
-import com.gemstone.gemfire.internal.redis.executor.sortedset.ZRangeByScoreExecutor;
-import com.gemstone.gemfire.internal.redis.executor.sortedset.ZRangeExecutor;
-import com.gemstone.gemfire.internal.redis.executor.sortedset.ZRankExecutor;
-import com.gemstone.gemfire.internal.redis.executor.sortedset.ZRemExecutor;
-import com.gemstone.gemfire.internal.redis.executor.sortedset.ZRemRangeByLexExecutor;
-import com.gemstone.gemfire.internal.redis.executor.sortedset.ZRemRangeByRankExecutor;
-import com.gemstone.gemfire.internal.redis.executor.sortedset.ZRemRangeByScoreExecutor;
-import com.gemstone.gemfire.internal.redis.executor.sortedset.ZRevRangeByScoreExecutor;
-import com.gemstone.gemfire.internal.redis.executor.sortedset.ZRevRangeExecutor;
-import com.gemstone.gemfire.internal.redis.executor.sortedset.ZRevRankExecutor;
-import com.gemstone.gemfire.internal.redis.executor.sortedset.ZScanExecutor;
-import com.gemstone.gemfire.internal.redis.executor.sortedset.ZScoreExecutor;
-import com.gemstone.gemfire.internal.redis.executor.string.AppendExecutor;
-import com.gemstone.gemfire.internal.redis.executor.string.BitCountExecutor;
-import com.gemstone.gemfire.internal.redis.executor.string.BitOpExecutor;
-import com.gemstone.gemfire.internal.redis.executor.string.BitPosExecutor;
-import com.gemstone.gemfire.internal.redis.executor.string.DecrByExecutor;
-import com.gemstone.gemfire.internal.redis.executor.string.DecrExecutor;
-import com.gemstone.gemfire.internal.redis.executor.string.GetBitExecutor;
-import com.gemstone.gemfire.internal.redis.executor.string.GetExecutor;
-import com.gemstone.gemfire.internal.redis.executor.string.GetRangeExecutor;
-import com.gemstone.gemfire.internal.redis.executor.string.GetSetExecutor;
-import com.gemstone.gemfire.internal.redis.executor.string.IncrByExecutor;
-import com.gemstone.gemfire.internal.redis.executor.string.IncrByFloatExecutor;
-import com.gemstone.gemfire.internal.redis.executor.string.IncrExecutor;
-import com.gemstone.gemfire.internal.redis.executor.string.MGetExecutor;
-import com.gemstone.gemfire.internal.redis.executor.string.MSetExecutor;
-import com.gemstone.gemfire.internal.redis.executor.string.MSetNXExecutor;
-import com.gemstone.gemfire.internal.redis.executor.string.PSetEXExecutor;
-import com.gemstone.gemfire.internal.redis.executor.string.SetBitExecutor;
-import com.gemstone.gemfire.internal.redis.executor.string.SetEXExecutor;
-import com.gemstone.gemfire.internal.redis.executor.string.SetExecutor;
-import com.gemstone.gemfire.internal.redis.executor.string.SetNXExecutor;
-import com.gemstone.gemfire.internal.redis.executor.string.SetRangeExecutor;
-import com.gemstone.gemfire.internal.redis.executor.string.StrlenExecutor;
-import com.gemstone.gemfire.internal.redis.executor.transactions.DiscardExecutor;
-import com.gemstone.gemfire.internal.redis.executor.transactions.ExecExecutor;
-import com.gemstone.gemfire.internal.redis.executor.transactions.MultiExecutor;
-import com.gemstone.gemfire.internal.redis.executor.transactions.UnwatchExecutor;
-import com.gemstone.gemfire.internal.redis.executor.transactions.WatchExecutor;
-
-/**
- * The redis command type used by the server. Each command is directly from
- * the redis protocol and calling {@link #getExecutor()} on a type returns the executor
- * class for that command.
- *
- *
- */
-public enum RedisCommandType {
-
- /***************************************
- *************** Keys ******************
- ***************************************/
-
- /**
- * AUTH password <p>
- * Authenticate to the server
- */
- AUTH {
- private Executor executor;
- @Override
- public Executor getExecutor() {
- if (executor == null) {
- executor = new AuthExecutor();
- }
- return executor;
- }
- private final RedisDataType dataType = RedisDataType.NONE;
- @Override
- public RedisDataType getDataType() {
- return this.dataType;
- }
- },
-
- /**
- * DEL key [key ...] <p>
- * Delete a key
- */
- DEL {
- private Executor executor;
- @Override
- public Executor getExecutor() {
- if (executor == null) {
- executor = new DelExecutor();
- }
- return executor;
- }
- private final RedisDataType dataType = RedisDataType.NONE;
- @Override
- public RedisDataType getDataType() {
- return this.dataType;
- }
- },
-
- /**
- * EXISTS key <p>
- * Determine if a key exists
- */
- EXISTS {
- private Executor executor;
- @Override
- public Executor getExecutor() {
- if (executor == null) {
- executor = new ExistsExecutor();
- }
- return executor;
- }
- private final RedisDataType dataType = RedisDataType.NONE;
- @Override
- public RedisDataType getDataType() {
- return this.dataType;
- }
- },
-
- /**
- * EXPIRE key seconds <p>
- * Set a key's time to live in seconds
- */
- EXPIRE {
- private Executor executor;
- @Override
- public Executor getExecutor() {
- if (executor == null) {
- executor = new ExpireExecutor();
- }
- return executor;
- }
- private final RedisDataType dataType = RedisDataType.NONE;
- @Override
- public RedisDataType getDataType() {
- return this.dataType;
- }
- },
-
- /**
- * EXPIREAT key timestamp <p>
- * Set the expiration for a key as a UNIX timestamp
- */
- EXPIREAT {
- private Executor executor;
- @Override
- public Executor getExecutor() {
- if (executor == null) {
- executor = new ExpireAtExecutor();
- }
- return executor;
- }
- private final RedisDataType dataType = RedisDataType.NONE;
- @Override
- public RedisDataType getDataType() {
- return this.dataType;
- }
- },
-
- /**
- * FLUSHALL <p>
- * Remove all keys from all databases
- */
- FLUSHALL {
- private Executor executor;
- @Override
- public Executor getExecutor() {
- if (executor == null) {
- executor = new FlushAllExecutor();
- }
- return executor;
- }
- private final RedisDataType dataType = RedisDataType.NONE;
- @Override
- public RedisDataType getDataType() {
- return this.dataType;
- }
- },
-
- /**
- * FLUSHDB<p>Remove all keys from the current database<p>Same as FLUSHALL for this implementation
- */
- FLUSHDB {
- private Executor executor;
- @Override
- public Executor getExecutor() {
- if (executor == null) {
- executor = new FlushAllExecutor();
- }
- return executor;
- }
- private final RedisDataType dataType = RedisDataType.NONE;
- @Override
- public RedisDataType getDataType() {
- return this.dataType;
- }
- },
-
- /**
- * KEYS pattern <p>
- * Find all keys matching the given pattern
- */
- KEYS {
- private Executor executor;
- @Override
- public Executor getExecutor() {
- if (executor == null) {
- executor = new KeysExecutor();
- }
- return executor;
- }
- private final RedisDataType dataType = RedisDataType.NONE;
- @Override
- public RedisDataType getDataType() {
- return this.dataType;
- }
- },
-
- /**
- * PERSIST key <p>
- * Remove the expiration from a key
- */
- PERSIST {
- private Executor executor;
- @Override
- public Executor getExecutor() {
- if (executor == null) {
- executor = new PersistExecutor();
- }
- return executor;
- }
- private final RedisDataType dataType = RedisDataType.NONE;
- @Override
- public RedisDataType getDataType() {
- return this.dataType;
- }
- },
-
- /**
- * PEXPIRE key milliseconds<p>Set a key's time to live in milliseconds
- */
- PEXPIRE {
- private Executor executor;
- @Override
- public Executor getExecutor() {
- if (executor == null) {
- executor = new PExpireExecutor();
- }
- return executor;
- }
- private final RedisDataType dataType = RedisDataType.NONE;
- @Override
- public RedisDataType getDataType() {
- return this.dataType;
- }
- },
-
- /**
- * PEXPIREAT key milliseconds-timestamp<p>Set the expiration for a key as a UNIX timestamp specified in milliseconds
- */
- PEXPIREAT {
- private Executor executor;
- @Override
- public Executor getExecutor() {
- if (executor == null) {
- executor = new PExpireAtExecutor();
- }
- return executor;
- }
- private final RedisDataType dataType = RedisDataType.NONE;
- @Override
- public RedisDataType getDataType() {
- return this.dataType;
- }
- },
-
- /**
- * PTTL key<p>Get the time to live for a key in milliseconds
- */
- PTTL {
- private Executor executor;
- @Override
- public Executor getExecutor() {
- if (executor == null) {
- executor = new PTTLExecutor();
- }
- return executor;
- }
- private final RedisDataType dataType = RedisDataType.NONE;
- @Override
- public RedisDataType getDataType() {
- return this.dataType;
- }
- },
-
- /**
- * SCAN cursor [MATCH pattern] [COUNT count]<p>Incrementally iterate the keys space
- */
- SCAN {
- private Executor executor;
- @Override
- public Executor getExecutor() {
- if (executor == null) {
- executor = new ScanExecutor();
- }
- return executor;
- }
- private final RedisDataType dataType = RedisDataType.NONE;
- @Override
- public RedisDataType getDataType() {
- return this.dataType;
- }
- },
-
- /**
- * TTL key<p>Get the time to live for a key
- */
- TTL {
- private Executor executor;
- @Override
- public Executor getExecutor() {
- if (executor == null) {
- executor = new TTLExecutor();
- }
- return executor;
- }
- private final RedisDataType dataType = RedisDataType.NONE;
- @Override
- public RedisDataType getDataType() {
- return this.dataType;
- }
- },
-
- /**
- * TYPE key<p>Determine the type stored at key
- */
- TYPE {
- private Executor executor;
- @Override
- public Executor getExecutor() {
- if (executor == null) {
- executor = new TypeExecutor();
- }
- return executor;
- }
- private final RedisDataType dataType = RedisDataType.NONE;
- @Override
- public RedisDataType getDataType() {
- return this.dataType;
- }
- },
-
- /***************************************
- ************** Strings ****************
- ***************************************/
-
- /**
- * APPEND key value<p>Append a value to a key
- */
- APPEND {
- private Executor executor;
- @Override
- public Executor getExecutor() {
- if (executor == null) {
- executor = new AppendExecutor();
- }
- return executor;
- }
- private final RedisDataType dataType = RedisDataType.REDIS_STRING;
- @Override
- public RedisDataType getDataType() {
- return this.dataType;
- }
- },
-
- /**
- * BITCOUNT key start end [start end ...]<p>Count set bits in a string
- */
- BITCOUNT {
- private Executor executor;
- @Override
- public Executor getExecutor() {
- if (executor == null) {
- executor = new BitCountExecutor();
- }
- return executor;
- }
- private final RedisDataType dataType = RedisDataType.REDIS_STRING;
- @Override
- public RedisDataType getDataType() {
- return this.dataType;
- }
- },
-
- /**
- * BITOP operation destkey key [key ...]<p>Perform bitwise operations between strings
- */
- BITOP {
- private Executor executor;
- @Override
- public Executor getExecutor() {
- if (executor == null) {
- executor = new BitOpExecutor();
- }
- return executor;
- }
- private final RedisDataType dataType = RedisDataType.REDIS_STRING;
- @Override
- public RedisDataType getDataType() {
- return this.dataType;
- }
- },
-
- /**
- * BITPOS key bit [start] [end]<p>Find first bit set or clear in a string
- */
- BITPOS {
- private Executor executor;
- @Override
- public Executor getExecutor() {
- if (executor == null) {
- executor = new BitPosExecutor();
- }
- return executor;
- }
- private final RedisDataType dataType = RedisDataType.REDIS_STRING;
- @Override
- public RedisDataType getDataType() {
- return this.dataType;
- }
- },
-
- /**
- * DECR key<p>Decrement the integer value of a key by one
- */
- DECR {
- private Executor executor;
- @Override
- public Executor getExecutor() {
- if (executor == null) {
- executor = new DecrExecutor();
- }
- return executor;
- }
- private final RedisDataType dataType = RedisDataType.REDIS_STRING;
- @Override
- public RedisDataType getDataType() {
- return this.dataType;
- }
- },
-
- /**
- * DECRBY key decrement<p>Decrement the integer value of a key by the given number
- */
- DECRBY {
- private Executor executor;
- @Override
- public Executor getExecutor() {
- if (executor == null) {
- executor = new DecrByExecutor();
- }
- return executor;
- }
- private final RedisDataType dataType = RedisDataType.REDIS_STRING;
- @Override
- public RedisDataType getDataType() {
- return this.dataType;
- }
- },
-
- /**
- * GET key<p>Get the value of a key
- */
- GET {
- private Executor executor;
- @Override
- public Executor getExecutor() {
- if (executor == null) {
- executor = new GetExecutor();
- }
- return executor;
- }
- private final RedisDataType dataType = RedisDataType.REDIS_STRING;
- @Override
- public RedisDataType getDataType() {
- return this.dataType;
- }
- },
-
- /**
- * GETBIT key offset<p>Returns the bit value at offset in the string value stored at key
- */
- GETBIT {
- private Executor executor;
- @Override
- public Executor getExecutor() {
- if (executor == null) {
- executor = new GetBitExecutor();
- }
- return executor;
- }
- private final RedisDataType dataType = RedisDataType.REDIS_STRING;
- @Override
- public RedisDataType getDataType() {
- return this.dataType;
- }
- },
-
- /**
- * GETRANGE key start end<p>Get a substring of the string stored at a key
- */
- GETRANGE {
- private Executor executor;
- @Override
- public Executor getExecutor() {
- if (executor == null) {
- executor = new GetRangeExecutor();
- }
- return executor;
- }
- private final RedisDataType dataType = RedisDataType.REDIS_STRING;
- @Override
- public RedisDataType getDataType() {
- return this.dataType;
- }
- },
-
- /**
- * GETSET key value<p>Set the string value of a key and return its old value
- */
- GETSET {
- private Executor executor;
- @Override
- public Executor getExecutor() {
- if (executor == null) {
- executor = new GetSetExecutor();
- }
- return executor;
- }
- private final RedisDataType dataType = RedisDataType.REDIS_STRING;
- @Override
- public RedisDataType getDataType() {
- return this.dataType;
- }
- },
-
- /**
- * INCR key<p>Increment the integer value of a key by one
- */
- INCR {
- private Executor executor;
- @Override
- public Executor getExecutor() {
- if (executor == null) {
- executor = new IncrExecutor();
- }
- return executor;
- }
- private final RedisDataType dataType = RedisDataType.REDIS_STRING;
- @Override
- public RedisDataType getDataType() {
- return this.dataType;
- }
- },
-
- /**
- * INCRBY key increment<p>Increment the integer value of a key by the given amount
- */
- INCRBY {
- private Executor executor;
- @Override
- public Executor getExecutor() {
- if (executor == null) {
- executor = new IncrByExecutor();
- }
- return executor;
- }
- private final RedisDataType dataType = RedisDataType.REDIS_STRING;
- @Override
- public RedisDataType getDataType() {
- return this.dataType;
- }
- },
-
- /**
- * INCRBYFLOAT key increment<p>Increment the float value of a key by the given amount
- */
- INCRBYFLOAT {
- private Executor executor;
- @Override
- public Executor getExecutor() {
- if (executor == null) {
- executor = new IncrByFloatExecutor();
- }
- return executor;
- }
- private final RedisDataType dataType = RedisDataType.REDIS_STRING;
- @Override
- public RedisDataType getDataType() {
- return this.dataType;
- }
- },
-
- /**
- * MGET key [key ...]<p>Get the values of all the given keys
- */
- MGET {
- private Executor executor;
- @Override
- public Executor getExecutor() {
- if (executor == null) {
- executor = new MGetExecutor();
- }
- return executor;
- }
- private final RedisDataType dataType = RedisDataType.REDIS_STRING;
- @Override
- public RedisDataType getDataType() {
- return this.dataType;
- }
- },
-
- /**
- * MSET key value [key value ...]<p>Set multiple keys to multiple values
- */
- MSET {
- private Executor executor;
- @Override
- public Executor getExecutor() {
- if (executor == null) {
- executor = new MSetExecutor();
- }
- return executor;
- }
- private final RedisDataType dataType = RedisDataType.REDIS_STRING;
- @Override
- public RedisDataType getDataType() {
- return this.dataType;
- }
- },
-
- /**
- * MSETNX key value [key value ...]<p>Set multiple keys to multiple values, only if none of the keys exist
- */
- MSETNX {
- private Executor executor;
- @Override
- public Executor getExecutor() {
- if (executor == null) {
- executor = new MSetNXExecutor();
- }
- return executor;
- }
- private final RedisDataType dataType = RedisDataType.REDIS_STRING;
- @Override
- public RedisDataType getDataType() {
- return this.dataType;
- }
- },
-
- /**
- * PSETEX key milliseconds value<p>Set the value and expiration in milliseconds of a key
- */
- PSETEX {
- private Executor executor;
- @Override
- public Executor getExecutor() {
- if (executor == null) {
- executor = new PSetEXExecutor();
- }
- return executor;
- }
- private final RedisDataType dataType = RedisDataType.REDIS_STRING;
- @Override
- public RedisDataType getDataType() {
- return this.dataType;
- }
- },
-
- /**
- * SETEX key seconds value<p>Set the value and expiration of a key
- */
- SETEX {
- private Executor executor;
- @Override
- public Executor getExecutor() {
- if (executor == null) {
- executor = new SetEXExecutor();
- }
- return executor;
- }
- private final RedisDataType dataType = RedisDataType.REDIS_STRING;
- @Override
- public RedisDataType getDataType() {
- return this.dataType;
- }
- },
-
- /**
- * SET key value [EX seconds] [PX milliseconds] [NX|XX]<p>Set the string value of a key
- */
- SET {
- private Executor executor;
- @Override
- public Executor getExecutor() {
- if (executor == null) {
- executor = new SetExecutor();
- }
- return executor;
- }
- private final RedisDataType dataType = RedisDataType.REDIS_STRING;
- @Override
- public RedisDataType getDataType() {
- return this.dataType;
- }
- },
-
- /**
- * SETBIT key offset value<P>Sets or clears the bit at offset in the string value stored at key
- */
- SETBIT {
- private Executor executor;
- @Override
- public Executor getExecutor() {
- if (executor == null) {
- executor = new SetBitExecutor();
- }
- return executor;
- }
- private final RedisDataType dataType = RedisDataType.REDIS_STRING;
- @Override
- public RedisDataType getDataType() {
- return this.dataType;
- }
- },
-
- /**
- * SETNX key value<p>Set the value of a key, only if the key does not exist
- */
- SETNX {
- private Executor executor;
- @Override
- public Executor getExecutor() {
- if (executor == null) {
- executor = new SetNXExecutor();
- }
- return executor;
- }
- private final RedisDataType dataType = RedisDataType.REDIS_STRING;
- @Override
- public RedisDataType getDataType() {
- return this.dataType;
- }
- },
-
- /**
- * SETRANGE key offset value<p>Overwrite part of a string at key starting at the specified offset
- */
- SETRANGE {
- private Executor executor;
- @Override
- public Executor getExecutor() {
- if (executor == null) {
- executor = new SetRangeExecutor();
- }
- return executor;
- }
- private final RedisDataType dataType = RedisDataType.REDIS_STRING;
- @Override
- public RedisDataType getDataType() {
- return this.dataType;
- }
- },
-
- /**
- * STRLEN key<p>Get the length of the value stored in a key
- */
- STRLEN {
- private Executor executor;
- @Override
- public Executor getExecutor() {
- if (executor == null) {
- executor = new StrlenExecutor();
- }
- return executor;
- }
- private final RedisDataType dataType = RedisDataType.REDIS_STRING;
- @Override
- public RedisDataType getDataType() {
- return this.dataType;
- }
- },
-
- /***************************************
- **************** Hashes ***************
- ***************************************/
- /**
- * HDEL key field [field ...]<p>Delete one or more hash fields
- */
- HDEL {
- private Executor executor;
- @Override
- public Executor getExecutor() {
- if (executor == null) {
- executor = new HDelExecutor();
- }
- return executor;
- }
- private final RedisDataType dataType = RedisDataType.REDIS_HASH;
- @Override
- public RedisDataType getDataType() {
- return this.dataType;
- }
- },
-
- /**
- * HEXISTS key field<p>Determine if a hash field exists
- */
- HEXISTS {
- private Executor executor;
- @Override
- public Executor getExecutor() {
- if (executor == null) {
- executor = new HExistsExecutor();
- }
- return executor;
- }
- private final RedisDataType dataType = RedisDataType.REDIS_HASH;
- @Override
- public RedisDataType getDataType() {
- return this.dataType;
- }
- },
-
- /**
- * HGET key field<p>Get the value of a hash field
- */
- HGET {
- private Executor executor;
- @Override
- public Executor getExecutor() {
- if (executor == null) {
- executor = new HGetExecutor();
- }
- return executor;
- }
- private final RedisDataType dataType = RedisDataType.REDIS_HASH;
- @Override
- public RedisDataType getDataType() {
- return this.dataType;
- }
- },
-
- /**
- * HGETALL key<p>Get all the fields and values in a hash
- */
- HGETALL {
- private Executor executor;
- @Override
- public Executor getExecutor() {
- if (executor == null) {
- executor = new HGetAllExecutor();
- }
- return executor;
- }
- private final RedisDataType dataType = RedisDataType.REDIS_HASH;
- @Override
- public RedisDataType getDataType() {
- return this.dataType;
- }
- },
-
- /**
- * HINCRBY key field increment<p>Increment the integer value of a hash field by the given number
- */
- HINCRBY {
- private Executor executor;
- @Override
- public Executor getExecutor() {
- if (executor == null) {
- executor = new HIncrByExecutor();
- }
- return executor;
- }
- private final RedisDataType dataType = RedisDataType.REDIS_HASH;
- @Override
- public RedisDataType getDataType() {
- return this.dataType;
- }
- },
-
- /**
- * HINCRBYFLOAT key field increment<p>Increment the float value of a hash field by the given amount
- */
- HINCRBYFLOAT {
- private Executor executor;
- @Override
- public Executor getExecutor() {
- if (executor == null) {
- executor = new HIncrByFloatExecutor();
- }
- return executor;
- }
- private final RedisDataType dataType = RedisDataType.REDIS_HASH;
- @Override
- public RedisDataType getDataType() {
- return this.dataType;
- }
- },
-
- /**
- * HKEYS key<p>Get all the fields in a hash
- */
- HKEYS {
- private Executor executor;
- @Override
- public Executor getExecutor() {
- if (executor == null) {
- executor = new HKeysExecutor();
- }
- return executor;
- }
- private final RedisDataType dataType = RedisDataType.REDIS_HASH;
- @Override
- public RedisDataType getDataType() {
- return this.dataType;
- }
- },
-
- /**
- * HLEN key<p>Get the number of fields in a hash
- */
- HLEN {
- private Executor executor;
- @Override
- public Executor getExecutor() {
- if (executor == null) {
- executor = new HLenExecutor();
- }
- return executor;
- }
- private final RedisDataType dataType = RedisDataType.REDIS_HASH;
- @Override
- public RedisDataType getDataType() {
- return this.dataType;
- }
- },
-
- /**
- * HMGET key field [field ...]<p>Get the values of all the given hash fields
- */
- HMGET {
- private Executor executor;
- @Override
- public Executor getExecutor() {
- if (executor == null) {
- executor = new HMGetExecutor();
- }
- return executor;
- }
- private final RedisDataType dataType = RedisDataType.REDIS_HASH;
- @Override
- public RedisDataType getDataType() {
- return this.dataType;
- }
- },
-
- /**
- * HMSET key field value [field value ...]<p>Set multiple hash fields to multiple values
- */
- HMSET {
- private Executor executor;
- @Override
- public Executor getExecutor() {
- if (executor == null) {
- executor = new HMSetExecutor();
- }
- return executor;
- }
- private final RedisDataType dataType = RedisDataType.REDIS_HASH;
- @Override
- public RedisDataType getDataType() {
- return this.dataType;
- }
- },
-
- /**
- * HSCAN key cursor [MATCH pattern] [COUNT count]<p>Incrementally iterate hash fields and associated values
- */
- HSCAN {
- private Executor executor;
- @Override
- public Executor getExecutor() {
- if (executor == null) {
- executor = new HScanExecutor();
- }
- return executor;
- }
- private final RedisDataType dataType = RedisDataType.REDIS_HASH;
- @Override
- public RedisDataType getDataType() {
- return this.dataType;
- }
- },
-
- /**
- * HSET key field value<p>Set the string value of a hash field
- */
- HSET {
- private Executor executor;
- @Override
- public Executor getExecutor() {
- if (executor == null) {
- executor = new HSetExecutor();
- }
- return executor;
- }
- private final RedisDataType dataType = RedisDataType.REDIS_HASH;
- @Override
- public RedisDataType getDataType() {
- return this.dataType;
- }
- },
-
- /**
- * HSETNX key field value<p>Set the value of a hash field, only if the field does not exist
- */
- HSETNX {
- private Executor executor;
- @Override
- public Executor getExecutor() {
- if (executor == null) {
- executor = new HSetNXExecutor();
- }
- return executor;
- }
- private final RedisDataType dataType = RedisDataType.REDIS_HASH;
- @Override
- public RedisDataType getDataType() {
- return this.dataType;
- }
- },
-
- /**
- * HVALS key<p>Get all the values in a hash
- */
- HVALS {
- private Executor executor;
- @Override
- public Executor getExecutor() {
- if (executor == null) {
- executor = new HValsExecutor();
- }
- return executor;
- }
- private final RedisDataType dataType = RedisDataType.REDIS_HASH;
- @Override
- public RedisDataType getDataType() {
- return this.dataType;
- }
- },
-
- /***************************************
- *********** HyperLogLogs **************
- ***************************************/
-
- /**
- * PFADD key element [element ...]<p>Adds the specified elements to the specified HyperLogLog
- */
- PFADD {
- private Executor executor;
- @Override
- public Executor getExecutor() {
- if (executor == null) {
- executor = new PFAddExecutor();
- }
- return executor;
- }
- private final RedisDataType dataType = RedisDataType.REDIS_HLL;
- @Override
- public RedisDataType getDataType() {
- return this.dataType;
- }
- },
-
- /**
- * PFCOUNT key [key ...]<p>Return the approximated cardinality of the set(s) observed by the HyperLogLog at key(s)
- */
- PFCOUNT {
- private Executor executor;
- @Override
- public Executor getExecutor() {
- if (executor == null) {
- executor = new PFCountExecutor();
- }
- return executor;
- }
- private final RedisDataType dataType = RedisDataType.REDIS_HLL;
- @Override
- public RedisDataType getDataType() {
- return this.dataType;
- }
- },
-
- /**
- * PFMERGE destkey sourcekey [sourcekey ...]<p>Merge N different HyperLogLogs into a single one
- */
- PFMERGE {
- private Executor executor;
- @Override
- public Executor getExecutor() {
- if (executor == null) {
- executor = new PFMergeExecutor();
- }
- return executor;
- }
- private final RedisDataType dataType = RedisDataType.REDIS_HLL;
- @Override
- public RedisDataType getDataType() {
- return this.dataType;
- }
- },
-
- /***************************************
- *************** Lists *****************
- ***************************************/
-
- /**
- * LINDEX key index<p>Get an element from a list by its index
- */
- LINDEX {
- private Executor executor;
- @Override
- public Executor getExecutor() {
- if (executor == null) {
- executor = new LIndexExecutor();
- }
- return executor;
- }
- private final RedisDataType dataType = RedisDataType.REDIS_LIST;
- @Override
- public RedisDataType getDataType() {
- return this.dataType;
- }
- },
-
- /**
- * LINSERT key BEFORE|AFTER pivot value<p>Insert an element before or after another element in a list
- */
- LINSERT {
- private Executor executor;
- @Override
- public Executor getExecutor() {
- if (executor == null) {
- executor = new LInsertExecutor();
- }
- return executor;
- }
- private final RedisDataType dataType = RedisDataType.REDIS_LIST;
- @Override
- public RedisDataType getDataType() {
- return this.dataType;
- }
- },
-
- /**
- * LLEN key<p>Get the length of a list
- */
- LLEN {
- private Executor executor;
- @Override
- public Executor getExecutor() {
- if (executor == null) {
- executor = new LLenExecutor();
- }
- return executor;
- }
- private final RedisDataType dataType = RedisDataType.REDIS_LIST;
- @Override
- public RedisDataType getDataType() {
- return this.dataType;
- }
- },
-
- /**
- * LPOP key<p>Remove and get the first element in a list
- */
- LPOP {
- private Executor executor;
- @Override
- public Executor getExecutor() {
- if (executor == null) {
- executor = new LPopExecutor();
- }
- return executor;
- }
- private final RedisDataType dataType = RedisDataType.REDIS_LIST;
- @Override
- public RedisDataType getDataType() {
- return this.dataType;
- }
- },
-
- /**
- * LPUSH key value [value ...]<p>Prepend one or multiple values to a list
- */
- LPUSH {
- private Executor executor;
- @Override
- public Executor getExecutor() {
- if (executor == null) {
- executor = new LPushExecutor();
- }
- return executor;
- }
- private final RedisDataType dataType = RedisDataType.REDIS_LIST;
- @Override
- public RedisDataType getDataType() {
- return this.dataType;
- }
- },
-
- /**
- * LPUSHX key value<p>Prepend a value to a list, only if the list exists
- */
- LPUSHX {
- private Executor executor;
- @Override
- public Executor getExecutor() {
- if (executor == null) {
- executor = new LPushXExecutor();
- }
- return executor;
- }
- private final RedisDataType dataType = RedisDataType.REDIS_LIST;
- @Override
- public RedisDataType getDataType() {
- return this.dataType;
- }
- },
-
- /**
- * LRANGE key start stop<p>Get a range of elements from a list
- */
- LRANGE {
- private Executor executor;
- @Override
- public Executor getExecutor() {
- if (executor == null) {
- executor = new LRangeExecutor();
- }
- return executor;
- }
- private final RedisDataType dataType = RedisDataType.REDIS_LIST;
- @Override
- public RedisDataType getDataType() {
- return this.dataType;
- }
- },
-
- /**
- * LREM key count value<p>Remove elements from a list
- */
- LREM {
- private Executor executor;
- @Override
- public Executor getExecutor() {
- if (executor == null) {
- executor = new LRemExecutor();
- }
- return executor;
- }
- private final RedisDataType dataType = RedisDataType.REDIS_LIST;
- @Override
- public RedisDataType getDataType() {
- return this.dataType;
- }
- },
-
- /**
- * LSET key index value<p>Set the value of an element in a list by its index
- */
- LSET {
- private Executor executor;
- @Override
- public Executor getExecutor() {
- if (executor == null) {
- executor = new LSetExecutor();
- }
- return executor;
- }
- private final RedisDataType dataType = RedisDataType.REDIS_LIST;
- @Override
- public RedisDataType getDataType() {
- return this.dataType;
- }
- },
-
- /**
- * LTRIM key start stop<p>Trim a list to the specified range
- */
- LTRIM {
- private Executor executor;
- @Override
- public Executor getExecutor() {
- if (executor == null) {
- executor = new LTrimExecutor();
- }
- return executor;
- }
- private final RedisDataType dataType = RedisDataType.REDIS_LIST;
- @Override
- public RedisDataType getDataType() {
- return this.dataType;
- }
- },
-
- /**
- * RPOP key<p>Remove and get the last element in a list
- */
- RPOP {
- private Executor executor;
- @Override
- public Executor getExecutor() {
- if (executor == null) {
- executor = new RPopExecutor();
- }
- return executor;
- }
- private final RedisDataType dataType = RedisDataType.REDIS_LIST;
- @Override
- public RedisDataType getDataType() {
- return this.dataType;
- }
- },
-
- /**
- * RPUSH key value [value ...]<p>Append one or multiple values to a list
- */
- RPUSH {
- private Executor executor;
- @Override
- public Executor getExecutor() {
- if (executor == null) {
- executor = new RPushExecutor();
- }
- return executor;
- }
- private final RedisDataType dataType = RedisDataType.REDIS_LIST;
- @Override
- public RedisDataType getDataType() {
- return this.dataType;
- }
- },
-
- /**
- * RPUSHX key value<p>Append a value to a list, only if the list exists
- */
- RPUSHX {
- private Executor executor;
- @Override
- public Executor getExecutor() {
- if (executor == null) {
- executor = new RPushXExecutor();
- }
- return executor;
- }
- private final RedisDataType dataType = RedisDataType.REDIS_LIST;
- @Override
- public RedisDataType getDataType() {
- return this.dataType;
- }
- },
-
- /***************************************
- **************** Sets *****************
- ***************************************/
-
- /**
- * SADD key member [member ...]<p>Add one or more members to a set
- */
- SADD {
- private Executor executor;
- @Override
- public Executor getExecutor() {
- if (executor == null) {
- executor = new SAddExecutor();
- }
- return executor;
- }
- private final RedisDataType dataType = RedisDataType.REDIS_SET;
- @Override
- public RedisDataType getDataType() {
- return this.dataType;
- }
- },
-
- /**
- * SCARD key<p>Get the number of members in a set
- */
- SCARD {
- private Executor executor;
- @Override
- public Executor getExecutor() {
- if (executor == null) {
- executor = new SCardExecutor();
- }
- return executor;
- }
- private final RedisDataType dataType = RedisDataType.REDIS_SET;
- @Override
- public RedisDataType getDataType() {
- return this.dataType;
- }
- },
-
- /**
- * SDIFF key [key ...]<p>Subtract multiple sets
- */
- SDIFF {
- private Executor executor;
- @Override
- public Executor getExecutor() {
- if (executor == null) {
- executor = new SDiffExecutor();
- }
- return executor;
- }
- private final RedisDataType dataType = RedisDataType.REDIS_SET;
- @Override
- public RedisDataType getDataType() {
- return this.dataType;
- }
- },
-
- /**
- * SDIFFSTORE destination key [key ...]<p>Subtract multiple sets and store the resulting set in a key
- */
- SDIFFSTORE {
- private Executor executor;
- @Override
- public Executor getExecutor() {
- if (executor == null) {
- executor = new SDiffStoreExecutor();
- }
- return executor;
- }
- private final RedisDataType dataType = RedisDataType.REDIS_SET;
- @Override
- public RedisDataType getDataType() {
- return this.dataType;
- }
- },
-
- /**
- * SISMEMBER key member<p>Determine if a given value is a member of a set
- */
- SISMEMBER {
- private Executor executor;
- @Override
- public Executor getExecutor() {
- if (executor == null) {
- executor = new SIsMemberExecutor();
- }
- return executor;
- }
- private final RedisDataType dataType = RedisDataType.REDIS_SET;
- @Override
- public RedisDataType getDataType() {
- return this.dataType;
- }
- },
-
- /**
- * SINTER key [key ...]<p>Intersect multiple sets
- */
- SINTER {
- private Executor executor;
- @Override
- public Executor getExecutor() {
- if (executor == null) {
- executor = new SInterExecutor();
- }
- return executor;
- }
- private final RedisDataType dataType = RedisDataType.REDIS_SET;
- @Override
- public RedisDataType getDataType() {
- return this.dataType;
- }
- },
-
- /**
- * SINTERSTORE destination key [key ...]<p>Intersect multiple sets and store the resulting set in a key
- */
- SINTERSTORE {
- private Executor executor;
- @Override
- public Executor getExecutor() {
- if (executor == null) {
- executor = new SInterStoreExecutor();
- }
- return executor;
- }
- private final RedisDataType dataType = RedisDataType.REDIS_SET;
- @Override
- public RedisDataType getDataType() {
- return this.dataType;
- }
- },
-
- /**
- * SMEMBERS key<p>Get all the members in a set
- */
- SMEMBERS {
- private Executor executor;
- @Override
- public Executor getExecutor() {
- if (executor == null) {
- executor = new SMembersExecutor();
- }
- return executor;
- }
- private final RedisDataType dataType = RedisDataType.REDIS_SET;
- @Override
- public RedisDataType getDataType() {
- return this.dataType;
- }
- },
-
- /**
- * SMOVE source destination member<p>Move a member from one set to another
- */
- SMOVE {
- private Executor executor;
- @Override
- public Executor getExecutor() {
- if (executor == null) {
- executor = new SMoveExecutor();
- }
- return executor;
- }
- private final RedisDataType dataType = RedisDataType.REDIS_SET;
- @Override
- public RedisDataType getDataType() {
- return this.dataType;
- }
- },
-
- /**
- * SPOP key<p>Remove and return a random member from a set
- */
- SPOP {
- private Executor executor;
- @Override
- public Executor getExecutor() {
- if (executor == null) {
- executor = new SPopExecutor();
- }
- return executor;
- }
- private final RedisDataType dataType = RedisDataType.REDIS_SET;
- @Override
- public RedisDataType getDataType() {
- return this.dataType;
- }
- },
-
- /**
- * SRANDMEMBER key [count]<p>Get one or multiple random members from a set
- */
- SRANDMEMBER {
- private Executor executor;
- @Override
- public Executor getExecutor() {
- if (executor == null) {
- executor = new SRandMemberExecutor();
- }
- return executor;
- }
- private final RedisDataType dataType = RedisDataType.REDIS_SET;
- @Override
- public RedisDataType getDataType() {
- return this.dataType;
- }
- },
-
- /**
- * SUNION key [key ...]<p>Add multiple sets
- */
- SUNION {
- private Executor executor;
- @Override
- public Executor getExecutor() {
- if (executor == null) {
- executor = new SUnionExecutor();
- }
- return executor;
- }
- private final RedisDataType dataType = RedisDataType.REDIS_SET;
- @Override
- public RedisDataType getDataType() {
- return this.dataType;
- }
- },
-
- /**
- * SUNIONSTORE destination key [key ...]<p>Add multiple sets and store the resulting set in a key
- */
- SUNIONSTORE {
- private Executor executor;
- @Override
- public Executor getExecutor() {
- if (executor == null) {
- executor = new SUnionStoreExecutor();
- }
- return executor;
- }
- private final RedisDataType dataType = RedisDataType.REDIS_SET;
- @Override
- public RedisDataType getDataType() {
- return this.dataType;
- }
- },
-
- /**
- * SSCAN key cursor [MATCH pattern] [COUNT count]<p>Incrementally iterate Set elements
- */
- SSCAN {
- private Executor executor;
- @Override
- public Executor getExecutor() {
- if (executor == null) {
- executor = new SScanExecutor();
- }
- return executor;
- }
- private final RedisDataType dataType = RedisDataType.REDIS_SET;
- @Override
- public RedisDataType getDataType() {
- return this.dataType;
- }
- },
-
- /**
- * SREM key member [member ...]<p>Remove one or more members from a set
- */
- SREM {
- private Executor executor;
- @Override
- public Executor getExecutor() {
- if (executor == null) {
- executor = new SRemExecutor();
- }
- return executor;
- }
- private final RedisDataType dataType = RedisDataType.REDIS_SET;
- @Override
- public RedisDataType getDataType() {
- return this.dataType;
- }
- },
-
- /***************************************
- ************* Sorted Sets *************
- ***************************************/
-
- /**
- * ZADD key score member [score member ...]<p>Add one or more members to a sorted set, or update its score if it already exists
- */
- ZADD {
- private Executor executor;
- @Override
- public Executor getExecutor() {
- if (executor == null) {
- executor = new ZAddExecutor();
- }
- return executor;
- }
- private final RedisDataType dataType = RedisDataType.REDIS_SORTEDSET;
- @Override
- public RedisDataType getDataType() {
- return this.dataType;
- }
- },
-
- /**
- * ZCARD key<p>Get the number of members in a sorted set
- */
- ZCARD {
- private Executor executor;
- @Override
- public Executor getExecutor() {
- if (executor == null) {
- executor = new ZCardExecutor();
- }
- return executor;
- }
- private final RedisDataType dataType = RedisDataType.REDIS_SORTEDSET;
- @Override
- public RedisDataType getDataType() {
- return this.dataType;
- }
- },
-
- /**
- * ZCOUNT key min max<p>Count the members in a sorted set with scores within the given values
- */
- ZCOUNT {
- private Executor executor;
- @Override
- public Executor getExecutor() {
- if (executor == null) {
- executor = new ZCountExecutor();
- }
- return executor;
- }
- private final RedisDataType dataType = RedisDataType.REDIS_SORTEDSET;
- @Override
- public RedisDataType getDataType() {
- return this.dataType;
- }
- },
-
- /**
- * ZINCRBY key increment member<p>Increment the score of a member in a sorted set
- */
- ZINCRBY {
- private Executor executor;
- @Override
- public Executor getExecutor() {
- if (executor == null) {
- executor = new ZIncrByExecutor();
- }
- return executor;
- }
- private final RedisDataType dataType = RedisDataType.REDIS_SORTEDSET;
- @Override
- public RedisDataType getDataType() {
- return this.dataType;
- }
- },
-
- /**
- * ZLEXCOUNT key min max<p>Count the number of members in a sorted set between a given lexicographical range
- */
- ZLEXCOUNT {
- private Executor executor;
- @Override
- public Executor getExecutor() {
- if (executor == null) {
- executor = new ZLexCountExecutor();
- }
- return executor;
- }
- private final RedisDataType dataType = RedisDataType.REDIS_SORTEDSET;
- @Override
- public RedisDataType getDataType() {
- return this.dataType;
- }
- },
-
- /**
- * ZRANGE key start stop [WITHSCORES]<p>Return a range of members in a sorted set, by index
- */
- ZRANGE {
- private Executor executor;
- @Override
- public Executor getExecutor() {
- if (executor == null) {
- executor = new ZRangeExecutor();
- }
- return executor;
- }
- private final RedisDataType dataType = RedisDataType.REDIS_SORTEDSET;
- @Override
- public RedisDataType getDataType() {
- return this.dataType;
- }
- },
-
- /**
- * ZRANGEBYLEX key min max [LIMIT offset count]<p>Return a range of members in a sorted set, by lexicographical range
- */
- ZRANGEBYLEX {
- private Executor executor;
- @Override
- public Executor getExecutor() {
- if (executor == null) {
- executor = new ZRangeByLexExecutor();
- }
- return executor;
- }
- private final RedisDataType dataType = RedisDataType.REDIS_SORTEDSET;
- @Override
- public RedisDataType getDataType() {
- return this.dataType;
- }
- },
-
- /**
- * ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT offset count]<p>Return a range of members in a sorted set, by score
- */
- ZRANGEBYSCORE {
- private Executor executor;
- @Override
- public Executor getExecutor() {
- if (executor == null) {
- executor = new ZRangeByScoreExecutor();
- }
- return executor;
- }
- private final RedisDataType dataType = RedisDataType.REDIS_SORTEDSET;
- @Override
- public RedisDataType getDataType() {
- return this.dataType;
- }
- },
-
- /**
- * ZREVRANGE key start stop [WITHSCORES]<p>Return a range of members in a sorted set, by index, with scores ordered from high to low
- */
- ZREVRANGE {
- private Executor executor;
- @Override
- public Executor getExecutor() {
- if (executor == null) {
- executor = new ZRevRangeExecutor();
- }
- return executor;
- }
- private final RedisDataType dataType = RedisDataType.REDIS_SORTEDSET;
- @Override
- public RedisDataType getDataType() {
- return this.dataType;
- }
- },
-
- /**
- * ZRANK key member<p>Determine the index of a member in a sorted set
- */
- ZRANK {
- private Executor executor;
- @Override
- public Executor getExecutor() {
- if (executor == null) {
- executor = new ZRankExecutor();
- }
- return executor;
- }
- private final RedisDataType dataType = RedisDataType.REDIS_SORTEDSET;
- @Override
- public RedisDataType getDataType() {
- return this.dataType;
- }
- },
-
- /**
- * ZREM key member [member ...]<p>Remove one or more members from a sorted set
- */
- ZREM {
- private Executor executor;
- @Override
- public Executor getExecutor() {
- if (executor == null) {
- executor = new ZRemExecutor();
- }
- return executor;
- }
- private final RedisDataType dataType = RedisDataType.REDIS_SORTEDSET;
- @Override
- public RedisDataType getDataType() {
- return this.dataType;
- }
- },
-
- /**
- * ZREMRANGEBYLEX key min max<p>Remove all members in a sorted set between the given lexicographical range
- */
- ZREMRANGEBYLEX {
- private Executor executor;
- @Override
- public Executor getExecutor() {
- if (executor == null) {
- executor = new ZRemRangeByLexExecutor();
- }
- return executor;
- }
- private final RedisDataType dataType = RedisDataType.REDIS_SORTEDSET;
- @Override
- public RedisDataType getDataType() {
- return this.dataType;
- }
- },
-
- /**
- * ZREMRANGEBYRANK key start stop<p>Remove all members in a sorted set within the given indexes
- */
- ZREMRANGEBYRANK {
- private Executor executor;
- @Override
- public Executor getExecutor() {
- if (executor == null) {
- executor = new ZRemRangeByRankExecutor();
- }
- return executor;
- }
- private final RedisDataType dataType = RedisDataType.REDIS_SORTEDSET;
- @Override
- public RedisDataType getDataType() {
- return this.dataType;
- }
- },
-
- /**
- * ZREMRANGEBYSCORE key min max<p>Remove all members in a sorted set within the given scores
- */
- ZREMRANGEBYSCORE {
- private Executor executor;
- @Override
- public Executor getExecutor() {
- if (executor == null) {
- executor = new ZRemRangeByScoreExecutor();
- }
- return executor;
- }
- private final RedisDataType dataType = RedisDataType.REDIS_SORTEDSET;
- @Override
- public RedisDataType getDataType() {
- return this.dataType;
- }
- },
-
- /**
- * ZREVRANGEBYSCORE key max min [WITHSCORES] [LIMIT offset count]<p>Return a range of members in a sorted set, by score, with scores ordered from high to low
- */
- ZREVRANGEBYSCORE {
- private Executor executor;
- @Override
- public Executor getExecutor() {
- if (executor == null) {
- executor = new ZRevRangeByScoreExecutor();
- }
- return executor;
- }
- private final RedisDataType dataType = RedisDataType.REDIS_SORTEDSET;
- @Override
- public RedisDataType getDataType() {
- return this.dataType;
- }
- },
-
- /**
- * ZREVRANK key member<p>Determine the index of a member in a sorted set, with scores ordered from high to low
- */
- ZREVRANK {
- private Executor executor;
- @Override
- public Executor getExecutor() {
- if (executor == null) {
- executor = new ZRevRankExecutor();
- }
- return executor;
- }
- private final RedisDataType dataType = RedisDataType.REDIS_SORTEDSET;
- @Override
- public RedisDataType getDataType() {
- return this.dataType;
- }
- },
-
- /**
- * ZSCAN key cursor [MATCH pattern] [COUNT count]<P>Incrementally iterate sorted sets elements and associated scores
- */
- ZSCAN {
- private Executor executor;
- @Override
- public Executor getExecutor() {
- if (executor == null) {
- executor = new ZScanExecutor();
- }
- return executor;
- }
- private final RedisDataType dataType = RedisDataType.REDIS_SORTEDSET;
- @Override
- public RedisDataType getDataType() {
- return this.dataType;
- }
- },
-
- /**
- * ZSCORE key member<p>Get the score associated with the given member in a sorted set
- */
- ZSCORE {
- private Executor executor;
- @Override
- public Executor getExecutor() {
- if (executor == null) {
- executor = new ZScoreExecutor();
- }
- return executor;
- }
- private final RedisDataType dataType = RedisDataType.REDIS_SORTEDSET;
- @Override
- public RedisDataType getDataType() {
- return this.dataType;
- }
- },
-
- /***************************************
- ************ Transactions *************
- ***************************************/
-
- /**
- * DISCARD<p>Discard all commands issued after MULTI
- */
- DISCARD {
- private Executor executor;
- @Override
- public Executor getExecutor() {
- if (executor == null) {
- executor = new DiscardExecutor();
- }
- return executor;
- }
- private final RedisDataType dataType = RedisDataType.NONE;
- @Override
- public RedisDataType getDataType() {
- return this.dataType;
- }
- },
-
- /**
- * EXEC<p>Execute all commands issued after MULTI
- */
- EXEC {
- private Executor executor;
- @Override
- public Executor getExecutor() {
- if (executor == null) {
- executor = new ExecExecutor();
- }
- return executor;
- }
- private final RedisDataType dataType = RedisDataType.NONE;
- @Override
- public RedisDataType getDataType() {
- return this.dataType;
- }
- },
-
- /**
- * MULTI<p>Mark the start of a transaction block
- */
- MULTI {
- private Executor executor;
- @Override
- public Executor getExecutor() {
- if (executor == null) {
- executor = new MultiExecutor();
- }
- return executor;
- }
- private final RedisDataType dataType = RedisDataType.NONE;
- @Override
- public RedisDataType getDataType() {
- return this.dataType;
- }
- },
-
- /**
- * UNWATCH<p>Forget about all watched keys
- */
- UNWATCH {
- private Executor executor;
- @Override
- public Executor getExecutor() {
- if (executor == null) {
- executor = new UnwatchExecutor();
- }
- return executor;
- }
- private final RedisDataType dataType = RedisDataType.NONE;
- @Override
- public RedisDataType getDataType() {
- return this.dataType;
- }
- },
-
- /**
- * WATCH key [key ...]<p>Watch the given keys to determine execution of the MULTI/EXEC block
- */
- WATCH {
- private Executor executor;
- @Override
- public Executor getExecutor() {
- if (executor == null) {
- executor = new WatchExecutor();
- }
- return executor;
- }
- private final RedisDataType dataType = RedisDataType.NONE;
- @Override
- public RedisDataType getDataType() {
- return this.dataType;
- }
- },
-
- /***************************************
- *************** Server ****************
- ***************************************/
-
- /**
- * DBSIZE<p>Return the number of keys in the selected database
- */
- DBSIZE {
- private Executor executor;
- @Override
- public Executor getExecutor() {
- if (executor == null) {
- executor = new DBSizeExecutor();
- }
- return executor;
- }
- private final RedisDataType dataType = RedisDataType.NONE;
- @Override
- public RedisDataType getDataType() {
- return this.dataType;
- }
- },
-
- /**
- * ECHO message<p>Echo the given string
- */
- ECHO {
- private Executor executor;
- @Override
- public Executor getExecutor() {
- if (executor == null) {
- executor = new EchoExecutor();
- }
- return executor;
- }
- private final RedisDataType dataType = RedisDataType.NONE;
- @Override
- public RedisDataType getDataType() {
- return this.dataType;
- }
- },
-
- /**
- * TIME <p>Return the current server time
- */
- TIME {
- private Executor executor;
- @Override
- public Executor getExecutor() {
- if (executor == null) {
- executor = new TimeExecutor();
- }
- return executor;
- }
- private final RedisDataType dataType = RedisDataType.NONE;
- @Override
- public RedisDataType getDataType() {
- return this.dataType;
- }
- },
-
- /**
- * PING<p>Ping the server
- */
- PING {
- private Executor executor;
- @Override
- public Executor getExecutor() {
- if (executor == null) {
- executor = new PingExecutor();
- }
- return executor;
- }
- private final RedisDataType dataType = RedisDataType.NONE;
- @Override
- public RedisDataType getDataType() {
- return this.dataType;
- }
- },
-
- /**
- * QUIT<p>Close the connection
- */
- QUIT {
- private Executor executor;
- @Override
- public Executor getExecutor() {
- if (executor == null) {
- executor = new QuitExecutor();
- }
- return executor;
- }
- private final RedisDataType dataType = RedisDataType.NONE;
- @Override
- public RedisDataType getDataType() {
- return this.dataType;
- }
- },
-
- /**
- * SHUTDOWN<p>Shut down the server
- */
- SHUTDOWN {
- private Executor executor;
- @Override
- public Executor getExecutor() {
- if (executor == null) {
- executor = new ShutDownExecutor();
- }
- return executor;
- }
- private final RedisDataType dataType = RedisDataType.NONE;
- @Override
- public RedisDataType getDataType() {
- return this.dataType;
- }
- },
-
- // UNKNOWN
- UNKNOWN {
- private Executor executor;
- @Override
- public Executor getExecutor() {
- if (executor == null) {
- executor = new UnkownExecutor();
- }
- return executor;
- }
- private final RedisDataType dataType = RedisDataType.NONE;
- @Override
- public RedisDataType getDataType() {
- return this.dataType;
- }
- };
-
- /**
- * Abstract method overridden by each value in enum
- * to get the executor associated with that command type
- *
- * @return {@link Executor} for command type
- */
- public abstract Executor getExecutor();
-
- public abstract RedisDataType getDataType();
- /*
- private RedisCommandType (RedisDataType dataType) {
- this.dataType = dataType;
- }
- */
-}