f13fc5381c
Extract commands info cache
2018-03-07 12:09:45 +02:00
8b4fa6d443
Add WrapProcessPipeline
2018-01-30 16:47:29 +02:00
e5040d9ce7
Don't test in Go 1.4
2017-12-28 17:00:22 +02:00
3de5605ab2
Pick random node when command does not have keys
2017-12-28 16:47:08 +02:00
7cb146a31b
Increase read timeout for blocking commands and don't retry such commands
2017-09-29 16:12:43 +03:00
2a5293c99c
Export Cmder.Args
2017-09-26 11:29:22 +03:00
f9307ab2fe
Add TxPipeline to Cmdable
2017-09-25 11:48:44 +03:00
bc5f9a6878
Replace PoolStats.Requests with PoolStats.Misses
2017-09-22 12:28:08 +03:00
dbd2c99ba9
Rework pipeline retrying
2017-09-01 14:56:00 +03:00
6060f097e1
Add PubSub support to Cluster client
2017-07-09 10:07:20 +03:00
9dbcc5ae80
Vendor syncutil.Once
2017-07-01 12:51:46 +03:00
5132e15c93
Fix cmd info race. Fixes #578
2017-06-17 12:34:39 +03:00
4a3a300665
Add Options.OnConnect
2017-05-26 14:56:18 +03:00
7e8890b644
Embed Cmdable into StatefulCmdable
2017-05-25 13:38:04 +03:00
6307b95039
Export Cmder.Name
2017-05-09 12:45:30 +03:00
eeb4d09198
rename Pipelineable to Pipeliner
2017-05-02 12:00:53 -03:00
6fca4d5ad0
pipeline now has its own interface "Pipelineable"
2017-05-01 12:42:58 -03:00
9ebd89772a
Rework PubSub conn management
2017-04-24 13:41:03 +03:00
346c00d485
Add PubSub support to Ring
2017-04-11 17:29:31 +03:00
80673992e6
gofmt
2017-04-02 17:10:47 +03:00
2cf5af9928
Merge branch 'v5'
2017-03-20 12:23:42 +02:00
ab1e8de9ea
Add ability to read client options
2017-03-20 12:15:21 +02:00
8040d63c4f
Remove gopkg.in
2017-02-19 09:49:21 +02:00
308ebee457
Fix defer order.
2017-01-28 10:53:10 +02:00
69554c0ec5
Reduce number of allocations.
2017-01-13 13:39:59 +02:00
6cd7a09b22
Use first slot/shard when key is not defined.
2016-12-16 14:30:23 +02:00
152cc1ee34
Merge pull request #444 from go-redis/feature/tx-pipeline
...
Add TxPipeline.
2016-12-16 11:40:46 +02:00
865d501d07
Add TxPipeline.
2016-12-16 11:25:58 +02:00
34122bffa8
Check that clients implement scripter interface.
2016-12-14 12:12:50 +02:00
b4efc45f1c
Set read/write timeouts more consistently.
2016-12-03 17:30:13 +02:00
82f21639bf
Fix WrapProcess for Ring and Cluster. Add better example.
2016-11-30 13:00:53 +02:00
8558a92fa4
Retry multiple commands more conservatively.
2016-10-13 13:56:24 +03:00
f5245efa73
Prepare v5 release.
2016-10-09 10:56:53 +00:00
eeba1d7db1
Select random node when there are no keys.
2016-10-09 10:30:45 +00:00
03da66c18a
Add new parameter to the RingOptions to override CommandInfo first key
...
There is problem with `eval` and `evalsha` commands.
`COMMAND INFO eval` returns first key position equals `0`.
After that, redis ring chooses `eval` as a value for sharding.
They, if you try to delete created value, ring may choose another shard
and delete won't work.
Eval command should be parsed, to be sharded properly, according to
redis specs: http://redis.io/commands/command .
I've introduced a new flag in the `RingOptions`, which will enable new
behavior: `EnableKeyLocationParsing`.
If it is enabled, `cmdFirstKey` will try to get key position using
`cmd.getFirstKeyPos()`. This function is defined for `eval` and
`evalsha` commands.
If it has parameters, it will return `3`, otherwise it will return `0`.
2016-10-04 17:09:04 +03:00
7cbee9d337
Enable reaper on ClusterClient and add tests.
2016-10-02 12:44:01 +00:00
e57ac63b6e
Simplify resubscribing in PubSub.
2016-09-29 12:33:47 +00:00
0b706418d9
Add Pipeline to Cmdable.
2016-09-27 09:29:21 +00:00
66f2eb1584
ring: reduce HeartbeatFrequency.
2016-08-09 13:54:04 +00:00
261cf7ae70
Fix Del command case.
2016-07-08 09:30:38 +00:00
aa063fe0a2
Fix ring comments
2016-07-02 09:07:27 +01:00
1c4c05e970
Ensure to use pointer methods where appropriate. Tidy up godoc.
2016-07-01 13:25:28 +01:00
4761c24218
Add ForEachMaster API.
2016-06-17 12:09:38 +00:00
079b7ce393
Rework Options initialisation.
2016-06-05 11:10:30 +00:00
ac162eb843
Move Select to stateful commands and make it available only via Pipeline and Tx.
2016-06-05 09:45:39 +00:00
487feebef1
Add latency based routing to Redis Cluster client.
2016-05-23 12:49:55 +03:00
31abb18d9a
Move logger to internal package.
2016-04-09 14:52:01 +03:00
38d30a4bab
Use redis.v4 that is in alpha/beta state.
2016-04-09 13:27:16 +03:00
3b051d2374
Reuse single Pipeline type in Client, ClusterClient and Ring.
2016-04-09 10:47:15 +03:00
6e1aef39ea
Faster and simpler pool.
2016-03-19 11:49:13 +02:00