Vladimir Mihailenco 
							
						 
					 
					
						
						
							
						
						69554c0ec5 
					 
					
						
						
							
							Reduce number of allocations.  
						
						
						
						
					 
					
						2017-01-13 13:39:59 +02:00 
						 
				 
			
				
					
						
							
							
								Vladimir Mihailenco 
							
						 
					 
					
						
						
							
						
						6cd7a09b22 
					 
					
						
						
							
							Use first slot/shard when key is not defined.  
						
						
						
						
					 
					
						2016-12-16 14:30:23 +02:00 
						 
				 
			
				
					
						
							
							
								Vladimir Mihailenco 
							
						 
					 
					
						
						
							
						
						152cc1ee34 
					 
					
						
						
							
							Merge pull request  #444  from go-redis/feature/tx-pipeline  
						
						... 
						
						
						
						Add TxPipeline. 
						
						
					 
					
						2016-12-16 11:40:46 +02:00 
						 
				 
			
				
					
						
							
							
								Vladimir Mihailenco 
							
						 
					 
					
						
						
							
						
						865d501d07 
					 
					
						
						
							
							Add TxPipeline.  
						
						
						
						
					 
					
						2016-12-16 11:25:58 +02:00 
						 
				 
			
				
					
						
							
							
								Vladimir Mihailenco 
							
						 
					 
					
						
						
							
						
						34122bffa8 
					 
					
						
						
							
							Check that clients implement scripter interface.  
						
						
						
						
					 
					
						2016-12-14 12:12:50 +02:00 
						 
				 
			
				
					
						
							
							
								Vladimir Mihailenco 
							
						 
					 
					
						
						
							
						
						b4efc45f1c 
					 
					
						
						
							
							Set read/write timeouts more consistently.  
						
						
						
						
					 
					
						2016-12-03 17:30:13 +02:00 
						 
				 
			
				
					
						
							
							
								Vladimir Mihailenco 
							
						 
					 
					
						
						
							
						
						82f21639bf 
					 
					
						
						
							
							Fix WrapProcess for Ring and Cluster. Add better example.  
						
						
						
						
					 
					
						2016-11-30 13:00:53 +02:00 
						 
				 
			
				
					
						
							
							
								Vladimir Mihailenco 
							
						 
					 
					
						
						
							
						
						8558a92fa4 
					 
					
						
						
							
							Retry multiple commands more conservatively.  
						
						
						
						
					 
					
						2016-10-13 13:56:24 +03:00 
						 
				 
			
				
					
						
							
							
								Vladimir Mihailenco 
							
						 
					 
					
						
						
							
						
						f5245efa73 
					 
					
						
						
							
							Prepare v5 release.  
						
						
						
						
					 
					
						2016-10-09 10:56:53 +00:00 
						 
				 
			
				
					
						
							
							
								Vladimir Mihailenco 
							
						 
					 
					
						
						
							
						
						eeba1d7db1 
					 
					
						
						
							
							Select random node when there are no keys.  
						
						
						
						
					 
					
						2016-10-09 10:30:45 +00:00 
						 
				 
			
				
					
						
							
							
								Artem Chernyshev 
							
						 
					 
					
						
						
							
						
						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 
						 
				 
			
				
					
						
							
							
								Vladimir Mihailenco 
							
						 
					 
					
						
						
							
						
						7cbee9d337 
					 
					
						
						
							
							Enable reaper on ClusterClient and add tests.  
						
						
						
						
					 
					
						2016-10-02 12:44:01 +00:00 
						 
				 
			
				
					
						
							
							
								Vladimir Mihailenco 
							
						 
					 
					
						
						
							
						
						e57ac63b6e 
					 
					
						
						
							
							Simplify resubscribing in PubSub.  
						
						
						
						
					 
					
						2016-09-29 12:33:47 +00:00 
						 
				 
			
				
					
						
							
							
								Vladimir Mihailenco 
							
						 
					 
					
						
						
							
						
						0b706418d9 
					 
					
						
						
							
							Add Pipeline to Cmdable.  
						
						
						
						
					 
					
						2016-09-27 09:29:21 +00:00 
						 
				 
			
				
					
						
							
							
								Vladimir Mihailenco 
							
						 
					 
					
						
						
							
						
						66f2eb1584 
					 
					
						
						
							
							ring: reduce HeartbeatFrequency.  
						
						
						
						
					 
					
						2016-08-09 13:54:04 +00:00 
						 
				 
			
				
					
						
							
							
								Vladimir Mihailenco 
							
						 
					 
					
						
						
							
						
						261cf7ae70 
					 
					
						
						
							
							Fix Del command case.  
						
						
						
						
					 
					
						2016-07-08 09:30:38 +00:00 
						 
				 
			
				
					
						
							
							
								Dimitrij Denissenko 
							
						 
					 
					
						
						
							
						
						aa063fe0a2 
					 
					
						
						
							
							Fix ring comments  
						
						
						
						
					 
					
						2016-07-02 09:07:27 +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 
							
						 
					 
					
						
						
							
						
						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 
						 
				 
			
				
					
						
							
							
								Joris Minjat 
							
						 
					 
					
						
						
							
						
						487feebef1 
					 
					
						
						
							
							Add latency based routing to Redis Cluster client.  
						
						
						
						
					 
					
						2016-05-23 12:49:55 +03: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 
							
						 
					 
					
						
						
							
						
						3b051d2374 
					 
					
						
						
							
							Reuse single Pipeline type in Client, ClusterClient and Ring.  
						
						
						
						
					 
					
						2016-04-09 10:47:15 +03:00 
						 
				 
			
				
					
						
							
							
								Vladimir Mihailenco 
							
						 
					 
					
						
						
							
						
						6e1aef39ea 
					 
					
						
						
							
							Faster and simpler pool.  
						
						
						
						
					 
					
						2016-03-19 11:49:13 +02:00 
						 
				 
			
				
					
						
							
							
								Vladimir Mihailenco 
							
						 
					 
					
						
						
							
						
						707472c09b 
					 
					
						
						
							
							Fix connection initialization.  
						
						
						
						
					 
					
						2016-03-15 14:21:53 +02:00 
						 
				 
			
				
					
						
							
							
								Vladimir Mihailenco 
							
						 
					 
					
						
						
							
						
						46790aa060 
					 
					
						
						
							
							Add race test for big vals. Copy connection to avoid race with PubSub.  
						
						
						
						
					 
					
						2016-03-14 16:34:15 +02:00 
						 
				 
			
				
					
						
							
							
								Vladimir Mihailenco 
							
						 
					 
					
						
						
							
						
						ad0739be99 
					 
					
						
						
							
							Extract pool package. Add pool benchmark.  
						
						
						
						
					 
					
						2016-03-12 10:52:13 +02:00 
						 
				 
			
				
					
						
							
							
								Vladimir Mihailenco 
							
						 
					 
					
						
						
							
						
						673e999431 
					 
					
						
						
							
							Close connection on network timeout.  
						
						
						
						
					 
					
						2016-03-09 14:36:14 +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 
						 
				 
			
				
					
						
							
							
								Anatolii Mihailenco 
							
						 
					 
					
						
						
							
						
						0bf3759a6d 
					 
					
						
						
							
							Create hashtag package.  
						
						
						
						
					 
					
						2015-12-31 16:25:20 +02:00 
						 
				 
			
				
					
						
							
							
								Vladimir Mihailenco 
							
						 
					 
					
						
						
							
						
						98414ea72a 
					 
					
						
						
							
							Increase test timeout.  
						
						
						
						
					 
					
						2015-11-21 10:20:01 +02:00 
						 
				 
			
				
					
						
							
							
								Vladimir Mihailenco 
							
						 
					 
					
						
						
							
						
						ade3425870 
					 
					
						
						
							
							multi: fix recovering from bad connection.  
						
						
						
						
					 
					
						2015-11-14 14:44:16 +02:00 
						 
				 
			
				
					
						
							
							
								Vladimir Mihailenco 
							
						 
					 
					
						
						
							
						
						c809246d8b 
					 
					
						
						
							
							Clarify thread safety.  Fixes   #166 .  
						
						
						
						
					 
					
						2015-09-12 09:36:03 +03:00 
						 
				 
			
				
					
						
							
							
								Vladimir Mihailenco 
							
						 
					 
					
						
						
							
						
						54dcf59909 
					 
					
						
						
							
							ring: return an error in pipeline when all shards are down.  
						
						
						
						
					 
					
						2015-07-13 12:56:16 +03:00 
						 
				 
			
				
					
						
							
							
								Vladimir Mihailenco 
							
						 
					 
					
						
						
							
						
						1608a33e55 
					 
					
						
						
							
							ring: fix key hashing in Ring pipeline.  
						
						
						
						
					 
					
						2015-06-24 15:37:41 +03:00 
						 
				 
			
				
					
						
							
							
								Vladimir Mihailenco 
							
						 
					 
					
						
						
							
						
						74f9f4f7a0 
					 
					
						
						
							
							ring: ignore pool timeout when pinging shards.  
						
						
						
						
					 
					
						2015-06-16 10:46:46 +03:00 
						 
				 
			
				
					
						
							
							
								Vladimir Mihailenco 
							
						 
					 
					
						
						
							
						
						0cf1b73698 
					 
					
						
						
							
							Add RingPipeline.  
						
						
						
						
					 
					
						2015-06-04 11:50:24 +03:00 
						 
				 
			
				
					
						
							
							
								Vladimir Mihailenco 
							
						 
					 
					
						
						
							
						
						2103d88732 
					 
					
						
						
							
							Embed consistenthash package.  
						
						
						
						
					 
					
						2015-06-03 14:25:52 +03:00 
						 
				 
			
				
					
						
							
							
								Vladimir Mihailenco 
							
						 
					 
					
						
						
							
						
						46f49a17a5 
					 
					
						
						
							
							Add Redis Ring.  
						
						
						
						
					 
					
						2015-06-03 14:25:52 +03:00