diff --git a/resources/carmine-commands.edn b/resources/carmine-commands.edn index 5300121b..c2797516 100644 --- a/resources/carmine-commands.edn +++ b/resources/carmine-commands.edn @@ -70,14 +70,14 @@ "CLUSTER MYID" {:fn-name "cluster-myid", :cluster-key-idx 2, :fn-params-more nil, :fn-params-fixed [], :req-args-fixed ["CLUSTER" "MYID"], :fn-docstring "`CLUSTER MYID` - Redis command function.\n Available since: Redis 3.0.0\n Complexity: O(1)\n\nReturns the ID of a node.\nRef. https://redis.io/commands/cluster-myid/ for more info."} "CLUSTER MYSHARDID" {:fn-name "cluster-myshardid", :cluster-key-idx 2, :fn-params-more nil, :fn-params-fixed [], :req-args-fixed ["CLUSTER" "MYSHARDID"], :fn-docstring "`CLUSTER MYSHARDID` - Redis command function.\n Available since: Redis 7.2.0\n Complexity: O(1)\n\nReturns the shard ID of a node.\nRef. https://redis.io/commands/cluster-myshardid/ for more info."} "CLUSTER NODES" {:fn-name "cluster-nodes", :cluster-key-idx 2, :fn-params-more nil, :fn-params-fixed [], :req-args-fixed ["CLUSTER" "NODES"], :fn-docstring "`CLUSTER NODES` - Redis command function.\n Available since: Redis 3.0.0\n Complexity: O(N) where N is the total number of Cluster nodes\n\nReturns the cluster configuration for a node.\nRef. https://redis.io/commands/cluster-nodes/ for more info."} -"CLUSTER REPLICAS" {:fn-name "cluster-replicas", :cluster-key-idx 2, :fn-params-more nil, :fn-params-fixed [node-id], :req-args-fixed ["CLUSTER" "REPLICAS" node-id], :fn-docstring "`CLUSTER REPLICAS` - Redis command function.\n Available since: Redis 5.0.0\n Complexity: O(1)\n\nLists the replica nodes of a master node.\nRef. https://redis.io/commands/cluster-replicas/ for more info."} +"CLUSTER REPLICAS" {:fn-name "cluster-replicas", :cluster-key-idx 2, :fn-params-more nil, :fn-params-fixed [node-id], :req-args-fixed ["CLUSTER" "REPLICAS" node-id], :fn-docstring "`CLUSTER REPLICAS` - Redis command function.\n Available since: Redis 5.0.0\n Complexity: O(N) where N is the number of replicas.\n\nLists the replica nodes of a master node.\nRef. https://redis.io/commands/cluster-replicas/ for more info."} "CLUSTER REPLICATE" {:fn-name "cluster-replicate", :cluster-key-idx 2, :fn-params-more nil, :fn-params-fixed [node-id], :req-args-fixed ["CLUSTER" "REPLICATE" node-id], :fn-docstring "`CLUSTER REPLICATE` - Redis command function.\n Available since: Redis 3.0.0\n Complexity: O(1)\n\nConfigure a node as replica of a master node.\nRef. https://redis.io/commands/cluster-replicate/ for more info."} "CLUSTER RESET" {:fn-name "cluster-reset", :cluster-key-idx 2, :fn-params-more [& args], :fn-params-fixed [], :req-args-fixed ["CLUSTER" "RESET"], :fn-docstring "`CLUSTER RESET` - Redis command function.\n Available since: Redis 3.0.0\n Complexity: O(N) where N is the number of known nodes. The command may execute a FLUSHALL as a side effect.\n\nResets a node.\nRef. https://redis.io/commands/cluster-reset/ for more info."} "CLUSTER SAVECONFIG" {:fn-name "cluster-saveconfig", :cluster-key-idx 2, :fn-params-more nil, :fn-params-fixed [], :req-args-fixed ["CLUSTER" "SAVECONFIG"], :fn-docstring "`CLUSTER SAVECONFIG` - Redis command function.\n Available since: Redis 3.0.0\n Complexity: O(1)\n\nForces a node to save the cluster configuration to disk.\nRef. https://redis.io/commands/cluster-saveconfig/ for more info."} "CLUSTER SET-CONFIG-EPOCH" {:fn-name "cluster-set-config-epoch", :cluster-key-idx 2, :fn-params-more nil, :fn-params-fixed [config-epoch], :req-args-fixed ["CLUSTER" "SET-CONFIG-EPOCH" config-epoch], :fn-docstring "`CLUSTER SET-CONFIG-EPOCH` - Redis command function.\n Available since: Redis 3.0.0\n Complexity: O(1)\n\nSets the configuration epoch for a new node.\nRef. https://redis.io/commands/cluster-set-config-epoch/ for more info."} "CLUSTER SETSLOT" {:fn-name "cluster-setslot", :cluster-key-idx 2, :fn-params-more [slot arg1 & args], :fn-params-fixed [slot arg1], :req-args-fixed ["CLUSTER" "SETSLOT" slot arg1], :fn-docstring "`CLUSTER SETSLOT` - Redis command function.\n Available since: Redis 3.0.0\n Complexity: O(1)\n\nBinds a hash slot to a node.\nRef. https://redis.io/commands/cluster-setslot/ for more info."} "CLUSTER SHARDS" {:fn-name "cluster-shards", :cluster-key-idx 2, :fn-params-more nil, :fn-params-fixed [], :req-args-fixed ["CLUSTER" "SHARDS"], :fn-docstring "`CLUSTER SHARDS` - Redis command function.\n Available since: Redis 7.0.0\n Complexity: O(N) where N is the total number of cluster nodes\n\nReturns the mapping of cluster slots to shards.\nRef. https://redis.io/commands/cluster-shards/ for more info."} -"CLUSTER SLAVES" {:fn-name "cluster-slaves", :cluster-key-idx 2, :fn-params-more nil, :fn-params-fixed [node-id], :req-args-fixed ["CLUSTER" "SLAVES" node-id], :fn-docstring "`CLUSTER SLAVES` - Redis command function.\n Available since: Redis 3.0.0\n Complexity: O(1)\n\nLists the replica nodes of a master node.\nRef. https://redis.io/commands/cluster-slaves/ for more info."} +"CLUSTER SLAVES" {:fn-name "cluster-slaves", :cluster-key-idx 2, :fn-params-more nil, :fn-params-fixed [node-id], :req-args-fixed ["CLUSTER" "SLAVES" node-id], :fn-docstring "`CLUSTER SLAVES` - Redis command function.\n Available since: Redis 3.0.0\n Complexity: O(N) where N is the number of replicas.\n\nLists the replica nodes of a master node.\nRef. https://redis.io/commands/cluster-slaves/ for more info."} "CLUSTER SLOTS" {:fn-name "cluster-slots", :cluster-key-idx 2, :fn-params-more nil, :fn-params-fixed [], :req-args-fixed ["CLUSTER" "SLOTS"], :fn-docstring "`CLUSTER SLOTS` - Redis command function.\n Available since: Redis 3.0.0\n Complexity: O(N) where N is the total number of Cluster nodes\n\nReturns the mapping of cluster slots to nodes.\nRef. https://redis.io/commands/cluster-slots/ for more info."} "COMMAND" {:fn-name "command", :cluster-key-idx 1, :fn-params-more [& args], :fn-params-fixed [], :req-args-fixed ["COMMAND"], :fn-docstring "`COMMAND` - Redis command function.\n Available since: Redis 2.8.13\n Complexity: O(N) where N is the total number of Redis commands\n\nReturns detailed information about all commands.\nRef. https://redis.io/commands/command/ for more info."} "COMMAND COUNT" {:fn-name "command-count", :cluster-key-idx 2, :fn-params-more nil, :fn-params-fixed [], :req-args-fixed ["COMMAND" "COUNT"], :fn-docstring "`COMMAND COUNT` - Redis command function.\n Available since: Redis 2.8.13\n Complexity: O(1)\n\nReturns a count of commands.\nRef. https://redis.io/commands/command-count/ for more info."} @@ -127,9 +127,9 @@ "FUNCTION RESTORE" {:fn-name "function-restore", :cluster-key-idx 2, :fn-params-more [serialized-value & args], :fn-params-fixed [serialized-value], :req-args-fixed ["FUNCTION" "RESTORE" serialized-value], :fn-docstring "`FUNCTION RESTORE` - Redis command function.\n Available since: Redis 7.0.0\n Complexity: O(N) where N is the number of functions on the payload\n\nRestores all libraries from a payload.\nRef. https://redis.io/commands/function-restore/ for more info."} "FUNCTION STATS" {:fn-name "function-stats", :cluster-key-idx 2, :fn-params-more nil, :fn-params-fixed [], :req-args-fixed ["FUNCTION" "STATS"], :fn-docstring "`FUNCTION STATS` - Redis command function.\n Available since: Redis 7.0.0\n Complexity: O(1)\n\nReturns information about a function during execution.\nRef. https://redis.io/commands/function-stats/ for more info."} "GEOADD" {:fn-name "geoadd", :cluster-key-idx 1, :fn-params-more [key arg1 arg2 arg3 & args], :fn-params-fixed [key arg1 arg2 arg3], :req-args-fixed ["GEOADD" key arg1 arg2 arg3], :fn-docstring "`GEOADD` - Redis command function.\n Available since: Redis 3.2.0\n Complexity: O(log(N)) for each item added, where N is the number of elements in the sorted set.\n\nAdds one or more members to a geospatial index. The key is created if it doesn't exist.\nRef. https://redis.io/commands/geoadd/ for more info."} -"GEODIST" {:fn-name "geodist", :cluster-key-idx 1, :fn-params-more [key member1 member2 & args], :fn-params-fixed [key member1 member2], :req-args-fixed ["GEODIST" key member1 member2], :fn-docstring "`GEODIST` - Redis command function.\n Available since: Redis 3.2.0\n Complexity: O(log(N))\n\nReturns the distance between two members of a geospatial index.\nRef. https://redis.io/commands/geodist/ for more info."} -"GEOHASH" {:fn-name "geohash", :cluster-key-idx 1, :fn-params-more [key & args], :fn-params-fixed [key], :req-args-fixed ["GEOHASH" key], :fn-docstring "`GEOHASH` - Redis command function.\n Available since: Redis 3.2.0\n Complexity: O(log(N)) for each member requested, where N is the number of elements in the sorted set.\n\nReturns members from a geospatial index as geohash strings.\nRef. https://redis.io/commands/geohash/ for more info."} -"GEOPOS" {:fn-name "geopos", :cluster-key-idx 1, :fn-params-more [key & args], :fn-params-fixed [key], :req-args-fixed ["GEOPOS" key], :fn-docstring "`GEOPOS` - Redis command function.\n Available since: Redis 3.2.0\n Complexity: O(N) where N is the number of members requested.\n\nReturns the longitude and latitude of members from a geospatial index.\nRef. https://redis.io/commands/geopos/ for more info."} +"GEODIST" {:fn-name "geodist", :cluster-key-idx 1, :fn-params-more [key member1 member2 & args], :fn-params-fixed [key member1 member2], :req-args-fixed ["GEODIST" key member1 member2], :fn-docstring "`GEODIST` - Redis command function.\n Available since: Redis 3.2.0\n Complexity: O(1)\n\nReturns the distance between two members of a geospatial index.\nRef. https://redis.io/commands/geodist/ for more info."} +"GEOHASH" {:fn-name "geohash", :cluster-key-idx 1, :fn-params-more [key & args], :fn-params-fixed [key], :req-args-fixed ["GEOHASH" key], :fn-docstring "`GEOHASH` - Redis command function.\n Available since: Redis 3.2.0\n Complexity: O(1) for each member requested.\n\nReturns members from a geospatial index as geohash strings.\nRef. https://redis.io/commands/geohash/ for more info."} +"GEOPOS" {:fn-name "geopos", :cluster-key-idx 1, :fn-params-more [key & args], :fn-params-fixed [key], :req-args-fixed ["GEOPOS" key], :fn-docstring "`GEOPOS` - Redis command function.\n Available since: Redis 3.2.0\n Complexity: O(1) for each member requested.\n\nReturns the longitude and latitude of members from a geospatial index.\nRef. https://redis.io/commands/geopos/ for more info."} "GEORADIUS" {:fn-name "georadius", :cluster-key-idx 1, :fn-params-more [key longitude latitude radius arg1 & args], :fn-params-fixed [key longitude latitude radius arg1], :req-args-fixed ["GEORADIUS" key longitude latitude radius arg1], :fn-docstring "`GEORADIUS` - Redis command function.\n Available since: Redis 3.2.0\n Complexity: O(N+log(M)) where N is the number of elements inside the bounding box of the circular area delimited by center and radius and M is the number of items inside the index.\n\nQueries a geospatial index for members within a distance from a coordinate, optionally stores the result.\nRef. https://redis.io/commands/georadius/ for more info."} "GEORADIUSBYMEMBER" {:fn-name "georadiusbymember", :cluster-key-idx 1, :fn-params-more [key member radius arg1 & args], :fn-params-fixed [key member radius arg1], :req-args-fixed ["GEORADIUSBYMEMBER" key member radius arg1], :fn-docstring "`GEORADIUSBYMEMBER` - Redis command function.\n Available since: Redis 3.2.0\n Complexity: O(N+log(M)) where N is the number of elements inside the bounding box of the circular area delimited by center and radius and M is the number of items inside the index.\n\nQueries a geospatial index for members within a distance from a member, optionally stores the result.\nRef. https://redis.io/commands/georadiusbymember/ for more info."} "GEORADIUSBYMEMBER_RO" {:fn-name "georadiusbymember_ro", :cluster-key-idx 1, :fn-params-more [key member radius arg1 & args], :fn-params-fixed [key member radius arg1], :req-args-fixed ["GEORADIUSBYMEMBER_RO" key member radius arg1], :fn-docstring "`GEORADIUSBYMEMBER_RO` - Redis command function.\n Available since: Redis 3.2.10\n Complexity: O(N+log(M)) where N is the number of elements inside the bounding box of the circular area delimited by center and radius and M is the number of items inside the index.\n\nReturns members from a geospatial index that are within a distance from a member.\nRef. https://redis.io/commands/georadiusbymember_ro/ for more info."} diff --git a/resources/redis-commands.json b/resources/redis-commands.json index 1d4ef0df..aca624b5 100644 --- a/resources/redis-commands.json +++ b/resources/redis-commands.json @@ -56,6 +56,10 @@ "noscript", "loading", "stale" + ], + "hints": [ + "request_policy:all_nodes", + "response_policy:all_succeeded" ] }, "ACL DRYRUN": { @@ -263,6 +267,10 @@ "noscript", "loading", "stale" + ], + "hints": [ + "request_policy:all_nodes", + "response_policy:all_succeeded" ] }, "ACL SETUSER": { @@ -305,6 +313,10 @@ "noscript", "loading", "stale" + ], + "hints": [ + "request_policy:all_nodes", + "response_policy:all_succeeded" ] }, "ACL USERS": { @@ -2169,6 +2181,10 @@ "noscript", "loading", "stale" + ], + "hints": [ + "request_policy:all_nodes", + "response_policy:all_succeeded" ] }, "CLIENT SETNAME": { @@ -2192,6 +2208,10 @@ "noscript", "loading", "stale" + ], + "hints": [ + "request_policy:all_nodes", + "response_policy:all_succeeded" ] }, "CLIENT TRACKING": { @@ -2816,7 +2836,7 @@ "summary": "Lists the replica nodes of a master node.", "since": "5.0.0", "group": "cluster", - "complexity": "O(1)", + "complexity": "O(N) where N is the number of replicas.", "acl_categories": [ "@admin", "@slow", @@ -3016,7 +3036,7 @@ "summary": "Lists the replica nodes of a master node.", "since": "3.0.0", "group": "cluster", - "complexity": "O(1)", + "complexity": "O(N) where N is the number of replicas.", "deprecated_since": "5.0.0", "replaced_by": "`CLUSTER REPLICAS`", "acl_categories": [ @@ -3359,6 +3379,10 @@ "noscript", "loading", "stale" + ], + "hints": [ + "request_policy:all_nodes", + "response_policy:all_succeeded" ] }, "CONFIG REWRITE": { @@ -3377,6 +3401,10 @@ "noscript", "loading", "stale" + ], + "hints": [ + "request_policy:all_nodes", + "response_policy:all_succeeded" ] }, "CONFIG SET": { @@ -5005,7 +5033,7 @@ "summary": "Returns the distance between two members of a geospatial index.", "since": "3.2.0", "group": "geo", - "complexity": "O(log(N))", + "complexity": "O(1)", "acl_categories": [ "@read", "@geo", @@ -5089,7 +5117,7 @@ "summary": "Returns members from a geospatial index as geohash strings.", "since": "3.2.0", "group": "geo", - "complexity": "O(log(N)) for each member requested, where N is the number of elements in the sorted set.", + "complexity": "O(1) for each member requested.", "acl_categories": [ "@read", "@geo", @@ -5139,7 +5167,7 @@ "summary": "Returns the longitude and latitude of members from a geospatial index.", "since": "3.2.0", "group": "geo", - "complexity": "O(N) where N is the number of members requested.", + "complexity": "O(1) for each member requested.", "acl_categories": [ "@read", "@geo", @@ -8088,7 +8116,7 @@ ], "hints": [ "request_policy:all_nodes", - "response_policy:all_succeeded" + "response_policy:agg_sum" ] }, "LCS": { @@ -9677,10 +9705,6 @@ "command_flags": [ "write", "denyoom" - ], - "hints": [ - "request_policy:multi_shard", - "response_policy:agg_min" ] }, "MULTI": { @@ -10835,6 +10859,7 @@ ], "hints": [ "request_policy:all_shards", + "response_policy:special", "nondeterministic_output" ] }, @@ -11680,7 +11705,8 @@ ], "hints": [ "nondeterministic_output", - "request_policy:special" + "request_policy:special", + "response_policy:special" ] }, "SCARD": {