Commit Graph

249 Commits

Author SHA1 Message Date
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 cc71f5d293 Add SetEX command 2020-10-22 14:38:36 -04: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 690d9a94f3 Rename SlowLog to SlowLogGet 2020-09-09 18:09:26 +03:00
Vladimir Mihailenco 457cdea58f Fix build 2020-09-09 17:40:37 +03:00
Vladimir Mihailenco dfae0ec28b Cleanup 2020-09-09 12:49:45 +03:00
wziww be9ae84c6f support for slowlog command 2020-09-09 12:36:25 +03:00
Vladimir Mihailenco 14c843ef89 gofumports 2020-07-16 09:52:07 +03:00
Adam Babik b2acec277e
add support for slices in XAddArgs.Values 2020-06-28 12:36:22 +02:00
Vladimir Mihailenco 073d805708 Fix build 2020-06-05 09:55:37 +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 3a6cc55be5 Fix tests on 32bit arches 2020-03-10 15:41:45 +02:00
Vladimir Mihailenco 7df36b4eb7 Rename HMSet to HSet and restore old HMSet 2020-02-19 16:34:34 +02:00
Vladimir Mihailenco 4eb2debcdc Don't create empty map when value is missing 2020-02-02 10:48:23 +02:00
yeplato a8704c3bd0
let XReadGroup skip empty message and process next message (#1243)
* let XReadGroup skip empty message and process next message
2020-02-02 10:46:20 +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
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
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 17480c545e
Merge pull request #1040 from go-redis/feature/hook-new
Feature/hook new
2019-06-01 11:50:49 +03:00
Vladimir Mihailenco 6c72dc807e internal/pool: replace atomic.Value with int64 2019-06-01 11:32:05 +03:00
Vladimir Mihailenco c6b800e266
Merge pull request #1039 from go-redis/fix/ttl-1
Handle -1 in DurationCmd
2019-05-31 13:45:52 +03:00
Vladimir Mihailenco 685d8922de Pass pointers where it makes sense 2019-05-31 13:24:21 +03:00
Vladimir Mihailenco c208a17dfc Handle -1 in DurationCmd 2019-05-31 13:19:39 +03: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 0604be51df Fix build 2018-11-29 11:09:11 +02: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
Andrii Kushch f87c59c191 remove redundant type declaration 2018-10-11 12:54:30 +02:00
Rémy-Christophe Schermesser f3bba01df2 Add ZPopMin and ZPopMax (#853)
* Add ZPopMin and ZPopMax
2018-09-03 11:45:32 +03:00
Vladimir Mihailenco 651e9fef1d Add MaxConnAge 2018-08-12 10:25:16 +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
nicktylah 39bdfc3fa8 Add basic redis streams support 2018-06-23 16:44:12 +03:00
Vladimir Mihailenco 34facee367 Add more race tests 2018-05-17 14:55:00 +03:00
Olve S. Hansen 1b1fc80e20 Added OnConnect callback to UniversalOptions (#747)
* Added OnConnect callback to UniversalOptions
2018-04-16 10:15:52 +03:00
Vladimir Mihailenco 0c76bc80b7 Support []string slices in commands that accept multiple values 2018-03-08 14:30:27 +02:00
Vladimir Mihailenco 852a60d520 Fix go vet 2018-03-07 12:09:45 +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 e5648e8c7c Fix flaky test 2018-02-22 15:01:48 +02:00
Vladimir Mihailenco 56dea1f39a Fix proto.RedisError in slices 2018-02-22 14:24:27 +02:00
Huan Du 4598ed0eac Correctly parse EVAL response containing customized error (#710)
* always parse all content in an array including error
2018-02-16 13:39:56 +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 1a4d34448d Update cluster node latency asynchronously 2018-02-13 11:42:06 +02:00
Crimson 7aa0130b2e Add SMembersMap function 2017-11-19 18:00:51 +01:00
Vladimir Mihailenco bc5f9a6878 Replace PoolStats.Requests with PoolStats.Misses 2017-09-22 12:28:08 +03:00
Vladimir Mihailenco dbd2c99ba9 Rework pipeline retrying 2017-09-01 14:56:00 +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
Dimitrij Denissenko 94ea195dc1 Use node address instead of relying on loopback reported by redis 2017-07-01 12:31:41 +03:00
Vladimir Mihailenco f1ed2ad288 Add FlushDBAsync and FlushAllAsync 2017-06-17 12:53:16 +03:00
Vladimir Mihailenco 368f0ea0ba Cleanup tests 2017-05-24 15:53:41 +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 ef95182d29 Code cleanup 2017-03-31 15:11:11 +03:00
Ichinose Shogo b8fb4a1150 the timeout of WAIT command is in milliseconds. 2017-02-24 12:02:48 +02: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
Vladimir Mihailenco 335956cc9a Cleanup code a bit. 2017-02-18 12:10:47 +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
Vladimir Mihailenco 63bac70a19 Add ZRemRangeByLex. 2017-01-26 15:53:58 +02:00
Vladimir Mihailenco 7eeb681076 Add Eval test. 2017-01-03 12:21:22 +02:00
Vladimir Mihailenco 0f05d8df9d Add unlink command. 2016-12-22 13:42:05 +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 cb63f1fd69 Add test for SetXX with expiration = 0 2016-10-21 17:14:51 +03:00
Vladimir Mihailenco dcdf129dd5 Add TimeCmd. 2016-10-14 14:39:02 +03:00
Vladimir Mihailenco f5245efa73 Prepare v5 release. 2016-10-09 10:56:53 +00:00
Vladimir Mihailenco 7cbee9d337 Enable reaper on ClusterClient and add tests. 2016-10-02 12:44:01 +00:00
Vladimir Mihailenco 8b7922d185 Add test for GeoPos. 2016-08-22 09:46:42 +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
Vladimir Mihailenco d89a58af91 Merge pull request #305 from go-redis/fix/gopkg-v4
Use redis.v4 that is in alpha/beta state.
2016-04-09 13:32:42 +03:00
Vladimir Mihailenco 38d30a4bab Use redis.v4 that is in alpha/beta state. 2016-04-09 13:27:16 +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 7a03514d7f Rename Multi to Tx to better reflect the purpose. Fixes #194. 2016-04-09 11:23:58 +03:00
Vladimir Mihailenco 6e1aef39ea Faster and simpler pool. 2016-03-19 11:49:13 +02:00
Vladimir Mihailenco f47fb47df0 Extract race tests to separate file. Add more race tests. 2016-03-16 19:45:35 +02:00
Vladimir Mihailenco e37202e605 Skip flaky tests. 2016-03-14 19:38:22 +02:00
Vladimir Mihailenco 0db1d730c8 Improve pool tests by verifying number of created connections. 2016-03-09 14:36:14 +02:00
Vladimir Mihailenco 6b369a317f Compare number approximatively. 2016-03-01 16:14:53 +02: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
Rich Hong a6da93713a Support multiple keys for the PFCOUNT command 2015-12-23 17:24:42 -05:00
Vladimir Mihailenco 9782e280cf Improve nil reply parsing. 2015-12-22 11:02:18 +02:00
Anatolii Mihailenco 12edede26a Revert "Accept interface{} values in list and set commands."
This reverts commit 401979b597.
2015-12-12 17:41:49 +02:00
Vladimir Mihailenco 401979b597 Accept interface{} values in list and set commands. 2015-12-10 09:52:42 +02:00
Vladimir Mihailenco 83b8c0a9c0 Fix ZStore Weight type. Fixes #206. 2015-12-01 16:28:41 +02:00
Vladimir Mihailenco b6b689904a Fix test. 2015-11-22 17:53:44 +02:00
Vladimir Mihailenco 842ea553dc Fix GeoRadius reply parsing. 2015-11-14 16:36:21 +02:00
Cosmin Luță 43603e1ea4 Implemented PFADD, PFCOUNT, PFMERGE 2015-11-04 10:48:10 +02:00
Vladimir Mihailenco 96fcac6a43 Merge pull request #180 from go-redis/fix/client-set-name-comment
Fix names and add comments.
2015-10-22 14:24:32 +03:00
Vladimir Mihailenco f04e7879e6 Merge pull request #176 from go-redis/feature/geo-more
Added binding for GEORADIUSBYMEMBER, GEODIST AND GEOHASH.
2015-10-22 14:21:30 +03:00
Vladimir Mihailenco 2bf0ea529d Fix names and add comments. 2015-10-22 14:15:47 +03:00
Will Jessop ffeacb8b03 Implement SetName and GetName
Allows setting and getting the client connection name.

http://redis.io/commands/client-setname
http://redis.io/commands/client-getname
2015-10-20 20:21:58 +01:00
Ian Chan 126513f1fb Added binding for GEORADIUSBYMEMBER, GEODIST AND GEOHASH.
Change-Id: Ia6144617f42629af4c022e595c444ddc6d66f1a3
2015-10-16 17:57:45 +03:00
Vladimir Mihailenco 2d37474474 travis: fix build. 2015-09-28 12:40:31 +03:00
Ian Chan 8a05670e7a Added binding for GEOADD and GEORADIUS. 2015-09-28 11:11:46 +03:00
Vladimir Mihailenco d2689feb56 Add ZADD modifiers. 2015-08-29 13:08:27 +03:00
Vladimir Mihailenco 5dfdaafe04 Merge pull request #156 from go-redis/fix/SRandMemberN
Add SRandMemberN. Fixes #155.
2015-08-26 09:55:17 +03:00
Jeff Pierce 7cafa2f3a5 Fixed syntax on ZRevRangeByLex test. 2015-08-25 12:18:17 -07:00
Jeff Pierce 5498ba400d Reverted change to struct ZRangeByScore, implemented ZRevRangeByLex. 2015-08-25 12:15:01 -07:00
Vladimir Mihailenco 9ead45f9e9 Add SRandMemberN. Fixes #155. 2015-08-25 14:02:16 +03:00
Jeff Pierce 15c887f700 Fixed tests. 2015-08-24 15:01:32 -07:00
Jeff Pierce 2abf5c5f14 Refactored zRangeByScore into zRangeBy. 2015-08-24 14:52:00 -07:00
Jeff Pierce 2de07f2493 Implemented ZRangeByLex with tests. 2015-08-22 20:38:37 -07:00
Vladimir Mihailenco 379b44f44a Add bytes support for sorted set. 2015-07-16 17:30:16 +03:00
Vladimir Mihailenco 412baf447b Add RestoreReplace. 2015-07-11 12:23:04 +03:00
Vladimir Mihailenco 3c1f2bd45a Allow setting and scaning interface{} values. 2015-07-11 11:54:26 +03:00
Vladimir Mihailenco 3fc16811b5 Fix flaky tests by using better matcher. 2015-06-03 15:09:56 +03:00
Vladimir Mihailenco 387330857d Fix ClientPause test. 2015-05-23 14:36:29 +03:00
Vladimir Mihailenco e72b69b964 Increase read/write timeout. 2015-05-18 14:52:46 +03:00
Vladimir Mihailenco bca8659b54 Run tests against latest Redis version. 2015-05-18 14:44:40 +03:00
Vladimir Mihailenco 4df8b2bbbc Add ClientPause command. 2015-05-15 15:11:22 +03:00
Vladimir Mihailenco bbfbc5f668 Merge pull request #107 from go-redis/fix/psetex-setex-remove
Remove PSetEx and SetEx. Set should be used instead.
2015-05-15 13:02:15 +03:00
Vladimir Mihailenco 0b87c16b61 Remove PSetEx and SetEx. Set should be used instead. 2015-05-14 16:49:47 +03:00
Vladimir Mihailenco 18ea75d2ad Release redis.v3 beta. 2015-05-14 16:24:19 +03:00
Vladimir Mihailenco 1078a303ea sentine: don't pass DB and Password to Sentinel client. 2015-05-14 16:13:45 +03:00
Vladimir Mihailenco 121cfc5792 Remove deprecated funcs. 2015-05-02 16:22:06 +03:00
Vladimir Mihailenco 9de2369192 Merge pull request #85 from go-redis/fix/time-duration-timeout
Use time.Duration to specify timeout.
2015-04-13 10:04:28 +03:00
Vladimir Mihailenco fb7803ad5a Use time.Duration to specify timeout. 2015-04-13 09:48:40 +03:00
Vladimir Mihailenco 99fe9114b1 Add ClusterPipeline. 2015-04-13 09:31:30 +03:00
Vladimir Mihailenco 754c11ab7f Add bitpos command. 2015-04-06 12:48:43 +03:00
Vladimir Mihailenco 4fefa47d6d Merge pull request #79 from go-redis/fix/consistent-zrevrange
Use consistent API in ZRevRangeWithScores and ZRevRange. Fixes #56. Fixes #78.
2015-04-04 14:51:05 +03:00
Vladimir Mihailenco 2dc61d458a Refactor Set, SetNX and SetXX with expiration. 2015-03-30 16:49:08 +03:00
Vladimir Mihailenco 026823f334 Use consistent API in ZRevRangeWithScores and ZRevRange. Fixes #56. Fixes #78. 2015-03-30 16:14:21 +03:00
Dimitrij Denissenko c21e5f3255 Add Redis Cluster support. 2015-03-19 11:19:55 +02:00
Dimitrij Denissenko 66cbad53a1 Minor test improvements 2015-02-09 08:14:41 +00:00
Dimitrij Denissenko 9f9822edd2 Use a lock-free connection pool 2015-01-31 13:20:37 +00:00
Dimitrij Denissenko f6bca78168 Migrates tests to ginkgo/gomega 2015-01-25 11:56:03 +00:00