Commit Graph

321 Commits

Author SHA1 Message Date
lhchavez 4ffcd9b7f6 Make SetArgs available to Pipeliner
SetArgs is amazing! It would be even more amazing to be able to use it
within a non-transactional Pipeline.
2021-03-03 19:24:29 -08:00
Vladimir Mihailenco 61680f373c Tweak API 2021-02-17 15:12:10 +02:00
You Den 7b7f9d6e0e
Add SetArgs command (#1662)
* Add SetWithArgs command

* Add tests for SetWithArgs command

* Replace Makefile stable version by 6.2-rc3 version

* Increase threshold because there are more commands

* Reduce the SetWithArgs command doc comment

* Rename SetWithArgs to SetArgs

* Rename ExpireAt to TTL

* Add KeepTTL field

* Add ExpireAt field as time.Time type

* Improve comments readability

* Add more tests for ExpireAt field

* Fix typo

* Fix multiple if/else chain lint error
2021-02-17 14:48:47 +02:00
kkkbird f594401261
support "XINFO CONSUMERS" (#1649)
* support "XINFO CONSUMERS"

* add "xinfo" test
2021-02-09 14:46:26 +02:00
Leandro Forain c2351b491a Add ScanType command to Scan with 'type' option
As of version 6.0 you can use this 'type' option to ask SCAN to only
return objects that match a given type, allowing you to
iterate through the database looking for keys of a specific type.
2021-01-09 09:20:35 -03:00
Yanis 4ab19e228a
Add LPOS command (#1556)
* Add LPos
2020-11-17 08:48:46 +02:00
TwinProduction b2df72a23d Refactor useless lines 2020-10-22 22:51:54 -04:00
TwinProduction cc71f5d293 Add SetEX command 2020-10-22 14:38:36 -04:00
Ilia Choly a2b0227421 feature: add XINFO STREAM support 2020-09-23 11:16:35 -04:00
Vladimir Mihailenco 86326c4924 Refactor NewXInfoGroupsCmd 2020-09-23 11:50:31 +03:00
Vladimir Mihailenco a32502b1d9 Cleanup 2020-09-23 10:29:13 +03:00
jamsonzan c89b69131d
fix: firstKeyPos cmdSlot (#1502)
* fix(xread):cmdSlot

Co-authored-by: zhangxinjian <zhangxinjian@crop.netease.com>
2020-09-23 10:22:11 +03:00
Vladimir Mihailenco 26d8b48cee Cleanup 2020-09-18 14:57:59 +03:00
x1nchen 10e779f856
feature: add support for set keepttl (#1499)
* feature: add support for set keepttl
2020-09-18 14:49:12 +03:00
Vladimir Mihailenco 513fcfb224 Remove strconv 2020-09-11 09:32:39 +03:00
Vladimir Mihailenco 690d9a94f3 Rename SlowLog to SlowLogGet 2020-09-09 18:09:26 +03:00
wziww be9ae84c6f support for slowlog command 2020-09-09 12:36:25 +03:00
刘青 8a3f304b25
Log with context to associate all log by traceID (#1413)
* Log with context to associate all log by traceID
2020-07-18 09:04:36 +03:00
Vladimir Mihailenco 38c87c1f84 Fix golangci 2020-07-16 10:01:27 +03:00
Vladimir Mihailenco 14c843ef89 gofumports 2020-07-16 09:52:07 +03:00
Vladimir Mihailenco 8638895c66 Cleanup appendArgs 2020-06-29 17:48:57 +03:00
Adam Babik b2acec277e
add support for slices in XAddArgs.Values 2020-06-28 12:36:22 +02:00
Vladimir Mihailenco 408b4d52c8 Fix wording 2020-06-10 17:22:06 +03:00
Vladimir Mihailenco 0fbf4e7221 Tweak log message 2020-06-10 16:44:48 +03:00
Roman Volosatovs 7f89f75288
Truncate sub-{mili,}second durations to 1 2020-06-10 13:52:27 +02:00
Robert B Gordon e6d31f6540 Update docs
Looks like these should really be HSet ?
2020-06-07 21:50:34 -05:00
Vladimir Mihailenco 3d03b1fa6a Fix merge 2020-05-21 10:19:17 +03:00
Vladimir Mihailenco 4440575966 Merge branch 'v8' 2020-05-21 10:16:44 +03:00
filipe oliveira cf6cf7f450 Add AuthACL 2020-05-21 08:59:51 +03:00
Vladimir Mihailenco 76f0041b12 Fix build 2020-05-19 08:52:38 +03:00
Vladimir Mihailenco 3dcb844106 Bump major version 2020-05-19 08:52:38 +03:00
Vladimir Mihailenco f5593121e0 Add ctx as first arg 2020-05-19 08:52:38 +03:00
Vladimir Mihailenco 7df36b4eb7 Rename HMSet to HSet and restore old HMSet 2020-02-19 16:34:34 +02:00
git-hulk d52b11cb42 Exported the setErr function as public 2020-02-03 17:53:47 +08:00
Vladimir Mihailenco 2f96fd1378 Fix doc 2020-01-20 11:57:46 +02:00
Vladimir Mihailenco 08dad1eb7f Add hint on Streams usage 2020-01-12 12:14:22 +02:00
Vladimir Mihailenco 13b6cb3891 Add note on HMGet 2020-01-12 12:03:21 +02:00
Vladimir Mihailenco 071b053edd Fix HMSet args size 2019-12-24 12:34:52 +02:00
Vladimir Mihailenco d7ce64d287 Use HSET for HMSet 2019-12-18 12:47:46 +02:00
yalouwang d3b25fc66c fix:Set operation claims insufficient memory (#1203) 2019-12-04 17:19:00 +08:00
saito d5b2eccbe2 add xinfo groups command (#1166)
Add xinfo groups command
2019-10-08 12:48:24 +03:00
Vladimir Mihailenco 3e1f1aba0e Remove deprecated command 2019-08-28 14:52:27 +03:00
Vladimir Mihailenco f6fc23d2fa Move key to ZStore 2019-08-09 16:23:56 +03:00
Vladimir Mihailenco 191391d66d Add writing version of GeoRadius commands 2019-08-09 15:04:56 +03:00
Vladimir Mihailenco 7779accbea Use semantic import versioning 2019-08-08 14:29:44 +03:00
Vladimir Mihailenco f3ce3362a0 Add golangci-lint 2019-07-25 14:36:50 +03:00
Vladimir Mihailenco 52ec525849 Propagate context in Pipeline 2019-07-25 13:28:15 +03:00
sjindal995 87ea8a4220 remove mandatory arg value in lpushx and rpushx 2019-07-18 17:23:05 +05:30
sjindal995 5c3de7537a Making LpushX and RpushX variadic 2019-07-18 16:48:09 +05:30
Vladimir Mihailenco bbe0a59db3 Add basic BITFIELD support 2019-06-26 15:06:43 +03:00
Vladimir Mihailenco 3bdf64784a Cleanup 2019-06-17 12:32:40 +03:00
Vladimir Mihailenco 84422d7ae7 Speedup WithContext 2019-05-31 17:31:54 +03:00
Vladimir Mihailenco b902746d7b DB is int 2019-05-31 13:24:21 +03:00
Vladimir Mihailenco 685d8922de Pass pointers where it makes sense 2019-05-31 13:24:21 +03:00
Vladimir Mihailenco 07b98751c3 Add Streams comment 2019-02-19 16:29:47 +02:00
Jake Gregg 65932a4b9b Add GETKEYSINSLOT api call for clustered redis 2019-01-29 10:39:58 -08:00
Vladimir Mihailenco 6ff343b69f
Merge pull request #932 from theodesp/master
Add Client Unblock
2018-12-15 10:01:56 +02:00
Theo b5aefa2f6a ClientUnblock + ClientUnblockWithError 2018-12-14 14:46:15 +00:00
Theo c6bf37c653 Add Client Unblock 2018-12-11 20:26:48 +00:00
Roman Volosatovs c9555c4277
xgroup: Add XGroupCreateMkStream 2018-12-11 15:52:46 +01:00
Vladimir Mihailenco 11cf9400d5 Consistent naming 2018-12-11 13:17:41 +02:00
Theo 2672a0fbf2 Add Client Id 2018-12-11 10:43:54 +00:00
Vladimir Mihailenco 4d5a8b91ad Fix tests 2018-11-21 11:16:25 +02:00
Noah Hilverling 3a019aa681 Add support for XDel 2018-11-13 13:23:59 +01:00
Vladimir Mihailenco 58f22c56fd Change ZWithKey 2018-11-03 12:07:25 +02:00
Roman Volosatovs 8527f5907e
Implement BZPop{Min,Max} 2018-11-02 18:07:01 +01:00
Vladimir Mihailenco 40dbb03d62 Set cmd timeout when Block >= 0 2018-09-13 09:28:01 +03:00
Rémy-Christophe Schermesser f3bba01df2 Add ZPopMin and ZPopMax (#853)
* Add ZPopMin and ZPopMax
2018-09-03 11:45:32 +03:00
Kassian Sun 34916092ba Add streams group related commands 2018-08-02 15:24:53 +03:00
Tianyi Lin bbcb2b7988 Supports new style syntax of client kill command 2018-07-23 23:00:01 +08:00
Vladimir Mihailenco ce9cfe9417 Add MemoryUsage 2018-07-22 09:46:29 +03:00
Vladimir Mihailenco b92dacbfa7 Conn timeout should be higher than read timeout 2018-07-22 08:49:48 +03:00
Vladimir Mihailenco 1932888b44 Support XREAD BLOCK 0 2018-07-18 12:08:43 +03:00
nicktylah 39bdfc3fa8 Add basic redis streams support 2018-06-23 16:44:12 +03:00
Vladimir Mihailenco 5c742fff78 cluster: cleanup tests 2018-05-21 16:17:57 +03:00
Vladimir Mihailenco 0c76bc80b7 Support []string slices in commands that accept multiple values 2018-03-08 14:30:27 +02:00
Evan Goldschmidt 7acec74c59 Script: Fix `Exists` to use hash instead of source (#726)
`SCRIPT EXISTS` accepts a hash, not the raw source: https://redis.io/commands/script-exists
2018-03-05 11:03:03 +02:00
janaurka d0a2b8bdf3 Impement Config Rewrite command (#722)
This commit adds support for config rewrite as documented in
https://redis.io/commands/config-rewrite .
2018-03-01 10:37:51 +02:00
Vladimir Mihailenco 56dea1f39a Fix proto.RedisError in slices 2018-02-22 14:24:27 +02:00
Huan Du daab7c60d0 add new command Touch and SwapDB 2018-02-15 10:06:03 +02:00
Vladimir Mihailenco e456ee7148 Add SortStore and fix Sort signature 2018-02-13 16:08:11 +02:00
Vladimir Mihailenco 624096af5e Mention redis.Nil 2017-12-27 13:29:46 +02:00
Crimson b2e8f5832a Add godoc commentary to SMembers and SMembersMap 2017-11-19 18:00:51 +01:00
Crimson 7aa0130b2e Add SMembersMap function 2017-11-19 18:00:51 +01:00
Vladimir Mihailenco 742a58164c Add test for receive big message payload 2017-09-30 09:21:59 +03:00
Vladimir Mihailenco 7cb146a31b Increase read timeout for blocking commands and don't retry such commands 2017-09-29 16:12:43 +03:00
Vladimir Mihailenco f9307ab2fe Add TxPipeline to Cmdable 2017-09-25 11:48:44 +03:00
Vladimir Mihailenco 8ff417ca18 Fix flaky tests 2017-08-15 10:49:45 +03:00
Vladimir Mihailenco a9364f117c Add ZLexCount 2017-08-15 09:49:23 +03:00
Vladimir Mihailenco cf6c6dca84 Add Geo commands read-only variants 2017-07-19 15:32:50 +03:00
Vladimir Mihailenco f1ed2ad288 Add FlushDBAsync and FlushAllAsync 2017-06-17 12:53:16 +03:00
Vladimir Mihailenco 4a3a300665 Add Options.OnConnect 2017-05-26 14:56:18 +03:00
Vladimir Mihailenco 7e8890b644 Embed Cmdable into StatefulCmdable 2017-05-25 13:38:04 +03:00
Felipe Cavalcanti eeb4d09198 rename Pipelineable to Pipeliner 2017-05-02 12:00:53 -03:00
Felipe Cavalcanti 6fca4d5ad0 pipeline now has its own interface "Pipelineable" 2017-05-01 12:42:58 -03:00
Vladimir Mihailenco 14f25982cb Remove manual strconv 2017-03-24 12:48:32 +02:00
Vladimir Mihailenco bb270e3277 Merge branch 'v5' 2017-03-04 11:02:50 +02:00
Giovanni T. Parra d9f1dc2386 Mention SETEX in the documentation.
To help people looking for it specifically.
2017-02-24 22:01:11 -03:00
Ichinose Shogo b8fb4a1150 the timeout of WAIT command is in milliseconds. 2017-02-24 12:02:48 +02:00
Ichinose Shogo 892fb8d573 the timeout of WAIT command is in milliseconds. 2017-02-24 18:03:21 +09:00
Vladimir Mihailenco 8040d63c4f Remove gopkg.in 2017-02-19 09:49:21 +02:00
Vladimir Mihailenco d95ce53b0d Replace Exists with ExistsMulti. 2017-02-19 09:49:21 +02:00
Vladimir Mihailenco 56ddaf1199 Fix HMSet to accept interface{} value. 2017-02-19 09:49:21 +02:00
Nate Bosscher 6b8c6b3fe9 Added implementation for WAIT command
Reference: https://redis.io/commands/wait
2017-02-18 11:42:06 +02:00
Eyal Post 7c0cf90fb8 Support for multi keys in Exists 2017-02-10 12:15:25 +02:00
Eyal Post 4cbe497190 ObjectRefCount and ObjectEncoding accept one key 2017-02-10 00:32:52 +02:00
Vladimir Mihailenco 3b87351e3f Merge pull request #480 from go-redis/fix/object-idle-time
ObjectIdleTime accepts one key.
2017-01-26 16:15:58 +02:00
Vladimir Mihailenco 3fa2fb8dc0 ObjectIdleTime accepts one key. 2017-01-26 15:59:49 +02:00
Vladimir Mihailenco 63bac70a19 Add ZRemRangeByLex. 2017-01-26 15:53:58 +02:00
Vladimir Mihailenco 10c56cede3 Remove Scanner in favor of ScanCmd. 2017-01-03 12:44:06 +02:00
Vladimir Mihailenco 0f05d8df9d Add unlink command. 2016-12-22 13:42:05 +02:00
Back Yu ce1ddaa30c Update commands.go
Let HSet and HSetNX can use value as interface{} .
2016-12-21 01:03:12 +08:00
Vladimir Mihailenco 34122bffa8 Check that clients implement scripter interface. 2016-12-14 12:12:50 +02:00
Vladimir Mihailenco 82f21639bf Fix WrapProcess for Ring and Cluster. Add better example. 2016-11-30 13:00:53 +02:00
Vladimir Mihailenco 80cf5d1652 Merge pull request #409 from bpiddubnyi/bugfix/setxx-zero-ex
Fix "invalid expire time in set" for SetXX with expiration = 0
2016-10-24 12:52:32 +03:00
Borys Piddubnyi 50f1aff778 Fix "invalid expire time in set" for SetXX with expiration = 0 2016-10-21 15:40:53 +03:00
Vladimir Mihailenco dcdf129dd5 Add TimeCmd. 2016-10-14 14:39:02 +03:00
Vladimir Mihailenco 2c5b239ecb Remove internal errors package that clashes with std lib. 2016-10-09 11:44:31 +00:00
Vladimir Mihailenco f5245efa73 Prepare v5 release. 2016-10-09 10:56:53 +00:00
Vladimir Mihailenco 0b706418d9 Add Pipeline to Cmdable. 2016-09-27 09:29:21 +00:00
Roger Clotet 39333495f9 Remove unexported functions from Cmdable interface 2016-09-14 12:47:46 +02:00
Vladimir Mihailenco 73b28d0372 Fix Cmdable interface. 2016-09-14 10:01:56 +00:00
Vladimir Mihailenco 235dc49d5f Rename GeoPosition to GeoPos for consistency with Redis Server. Simplify code where possible. 2016-08-22 09:39:22 +00:00
Sergey Shcherbina ac1c5e46f9 support geopos command 2016-08-22 02:32:06 +05:00
Jamie Markle 5760a88db3 add WrapProcess 2016-08-15 15:22:50 -04:00
Vladimir Mihailenco ff8419f643 Rename Commander to Cmdable to match internal name. 2016-07-21 13:24:58 +00:00
Vladimir Mihailenco 46240a2089 Merge pull request #342 from yzprofile/v4
Feature: Export cmdable as an interface
2016-07-21 16:20:12 +03:00
Vladimir Mihailenco 4210c090b1 Move Publish channel to cmdable. Remove method that was deprecated in v3. 2016-07-21 13:04:40 +00:00
yzprofile dcdf3fc9c3 Feature: Export cmdable as an interface 2016-07-21 13:50:28 +08:00
Vladimir Mihailenco 261cf7ae70 Fix Del command case. 2016-07-08 09:30:38 +00:00
Dimitrij Denissenko 7d856c5595 Make proto/parser an internal package 2016-07-02 13:52:10 +01:00
Dimitrij Denissenko 1c4c05e970 Ensure to use pointer methods where appropriate. Tidy up godoc. 2016-07-01 13:25:28 +01:00
Vladimir Mihailenco 4761c24218 Add ForEachMaster API. 2016-06-17 12:09:38 +00:00
Vladimir Mihailenco b1f6610fc6 Support more interface values. 2016-06-14 10:22:16 +00:00
Mattias Lundell cd582ed576 add support for SPOP with a count argument (available in REDIS 3.2) 2016-06-10 12:58:04 +00:00
Vladimir Mihailenco ac162eb843 Move Select to stateful commands and make it available only via Pipeline and Tx. 2016-06-05 09:45:39 +00:00
Joris Minjat 487feebef1 Add latency based routing to Redis Cluster client. 2016-05-23 12:49:55 +03:00
Vladimir Mihailenco 9cbb0c42df Change HGetAll and HMSet to return/accept map[string]string. 2016-05-02 14:52:00 +03:00
Vladimir Mihailenco 38be24b025 Scan: swap return values and change cursor type. 2016-04-26 16:08:31 +03:00
Dimitrij Denissenko 7456a0e473 Add scan iterator. 2016-04-26 15:01:49 +03:00
Vladimir Mihailenco 31abb18d9a Move logger to internal package. 2016-04-09 14:52:01 +03:00
Vladimir Mihailenco 09ec5f0b4b Merge pull request #304 from go-redis/fix/rename-zrangebyscore
Rename ZRangeByScore to ZRange since it is used in ZRangeByLex.
2016-04-09 13:31:46 +03:00
Vladimir Mihailenco 51349cd90e Rename ZRangeByScore to ZRange since it is used in ZRangeByLex. 2016-04-09 13:15:33 +03:00
Vladimir Mihailenco ae217e0444 Expose cluster node id in ClusterSlots. 2016-04-09 12:52:43 +03:00
Vladimir Mihailenco 5e5a540eb1 Accept interface{} in Eval. Fixes #243. 2016-04-09 11:01:33 +03:00
Dimitrij Denissenko 9f40911f28 Correct method accessors 2016-03-09 09:49:05 +00:00
Vladimir Mihailenco ebf51e1a1b Add prefix to package logger. 2016-02-06 12:16:09 +02:00
Francisco Souza d3ee281748 Declare and use a package-level Logger
This allow users of the API to override the Logger. Fix #250.
2016-02-03 12:30:39 -05:00
Vladimir Mihailenco 3ed364e92a Sort can return nil reply. Fixes #246. 2016-01-22 12:29:23 +02:00
Anatolii Mihailenco 602824623b commands.go: add section parameter to Info function. 2016-01-08 15:03:34 +02:00