Commit Graph

107 Commits

Author SHA1 Message Date
Kirill Motkov eca4e5d04c Some code improvements
* Rewrite if-else chain as a switch.
* Rewrite switch statement with only one case as if.
* Remove always true condition.
* Simplify some functions.
2019-04-17 16:14:30 +03:00
Étienne Michon c340532290
Add the master sentinel command 2019-02-21 18:38:36 +01:00
Étienne Michon 3c02e56ed9
Add the flushconfig sentinel command 2019-02-21 18:38:36 +01:00
Étienne Michon 64411c1a52
Add the reset sentinel command 2019-02-20 16:24:58 +01:00
Étienne Michon c341fb219f
Add the failover sentinel command 2019-02-20 11:39:33 +01:00
Vladimir Mihailenco 0064936c5b Cleanup 2018-11-11 12:13:00 +02:00
Jason Parrott 7fa8fdf3e7
Cleanup sentinel pubsub on close
Currently, the pubsub connection is aggressively disconnected when we close the upstream client which causes it to log something like:

redis: 2018/11/09 09:10:07 pubsub.go:151: redis: discarding bad PubSub connection: read tcp 127.0.0.1:61025->127.0.0.1:26378: use of closed network connection

This change simply cleans up the connection on close.  

We create new redis servers and connections for each set of independent tests and the logs were getting spammy.
2018-11-09 09:32:22 -05:00
Vladimir Mihailenco 171a6d13e9 Fix closing nil sentinel 2018-10-25 09:42:56 +03:00
Vladimir Mihailenco 9b063e2e30 Copy TLSConfig to SentinelClient options 2018-10-10 11:51:34 +03:00
Vladimir Mihailenco 48e9afe2a7 Use PubSub.Channel to not burn CPU on errors 2018-10-01 11:43:26 +03:00
Vladimir Mihailenco 0d132966a4 Add missing options to UniversalOptions 2018-08-15 08:44:06 +03:00
Vladimir Mihailenco d5fc79d4ee Add Client.Do 2018-08-12 11:20:24 +03:00
Vladimir Mihailenco ea9da7c2e8 Rework ReceiveMessage 2018-07-23 17:10:58 +03:00
Vladimir Mihailenco 39b4d69170 Export SentinelClient 2018-05-31 13:15:52 +03:00
Vadim Liman 09b9a99666 Add TLS configuration support for Universal Client 2018-05-11 09:46:09 +03:00
yifei.huang 8b4fa6d443 Add WrapProcessPipeline 2018-01-30 16:47:29 +02:00
Vladimir Mihailenco 5294b5dae1 Add PoolStats.StaleConns and enable logging by default 2017-09-11 09:10:17 +03:00
Vladimir Mihailenco 6060f097e1 Add PubSub support to Cluster client 2017-07-09 10:07:20 +03:00
Vladimir Mihailenco fbc8000fd1 Resent client pool when sentinel switches master 2017-06-29 16:53:49 +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
Vladimir Mihailenco 6499563e07 PubSub conns don't share connection pool limit 2017-04-17 16:59:56 +03:00
Vladimir Mihailenco 8040d63c4f Remove gopkg.in 2017-02-19 09:49:21 +02:00
Vladimir Mihailenco ce4fd8b677 Fix ReceiveMessage to work without any subscriptions. 2017-02-08 14:15:32 +02:00
Vladimir Mihailenco 308ebee457 Fix defer order. 2017-01-28 10:53:10 +02:00
Vladimir Mihailenco b4efc45f1c Set read/write timeouts more consistently. 2016-12-03 17:30:13 +02:00
Vladimir Mihailenco f5245efa73 Prepare v5 release. 2016-10-09 10:56:53 +00:00
Vladimir Mihailenco 079b7ce393 Rework Options initialisation. 2016-06-05 11:10:30 +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
Vladimir Mihailenco 31abb18d9a Move logger to internal package. 2016-04-09 14:52:01 +03:00
Vladimir Mihailenco 38d30a4bab Use redis.v4 that is in alpha/beta state. 2016-04-09 13:27:16 +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 fdd0fdf678 Optimize pool.Remove. 2016-03-12 12:41:02 +02:00
Vladimir Mihailenco ad0739be99 Extract pool package. Add pool benchmark. 2016-03-12 10:52:13 +02:00
Vladimir Mihailenco 27635bbe4e Fix FailoverClient to close connection to Sentinel. Fixes races build. 2016-03-09 15:14:01 +02:00
Vladimir Mihailenco 110e93a8e4 Simplify connection management with sticky connection pool. Fixes #260. 2016-03-01 14:12:25 +02: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 d7c44c7899 Better rate limited message. 2015-12-22 15:45:03 +02:00
Vladimir Mihailenco 25164333ff Fix pool panic on slow connection with MaxRetries > 0. 2015-10-13 12:10:04 +03:00
Vladimir Mihailenco c809246d8b Clarify thread safety. Fixes #166. 2015-09-12 09:36:03 +03:00
arnaud briche 8b26a9f71e Add MaxRetries to FailoverOptions 2015-08-24 10:46:48 +02:00
Vladimir Mihailenco 40b429df49 Reduce number of various options structs. Slightly reword comments. 2015-05-23 17:56:18 +03:00
Vladimir Mihailenco f6ef0fd342 Add basic example how to use Redis Cluster. Unify comments. 2015-05-23 16:35:30 +03:00
Vladimir Mihailenco 1d02fa85a9 sentinel: add comment. 2015-05-23 14:43:34 +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 f3f44aefbe Fix pool to close all connections when client is closed. 2015-05-05 12:17:44 +03:00
Vladimir Mihailenco fe931fc851 Add reaper that closes idle connections to the cluster. 2015-04-05 15:41:16 +03:00
Dimitrij Denissenko c21e5f3255 Add Redis Cluster support. 2015-03-19 11:19:55 +02:00
Dimitrij Denissenko a6385ccf0a Documented options 2015-01-31 14:54:37 +00:00
Dimitrij Denissenko 9f9822edd2 Use a lock-free connection pool 2015-01-31 13:20:37 +00:00
Vladimir Mihailenco 6f79953aa5 sentinel: don't leak goroutines on sentinel fail. Fixes #48. 2014-11-06 13:18:19 +02:00
Vladimir Mihailenco 3836435639 Remove glog. 2014-07-31 16:01:54 +03:00
Vladimir Mihailenco 3c565a35a9 Sentinel client does not support password and db options. 2014-07-12 10:00:21 +03:00
Vladimir Mihailenco 678b8b3667 Cleanup. 2014-06-28 14:47:37 +03:00
Vladimir Mihailenco a042cdda74 Redis Sentinel support. 2014-06-14 14:46:11 +03:00