forked from mirror/redis
Move comment to Pipeliner interface.
To remove all text copies.
This commit is contained in:
parent
d7b83274b7
commit
4f66c5f32b
13
cluster.go
13
cluster.go
|
@ -1182,19 +1182,6 @@ func (c *ClusterClient) reaper(idleCheckFrequency time.Duration) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Pipeline returns mechanism to realise Redis Pipeline technique.
|
|
||||||
//
|
|
||||||
// Pipelining is a technique to extremely speed up processing by packing
|
|
||||||
// operations to batches, send them at once to Redis and read a replies in a
|
|
||||||
// singe step.
|
|
||||||
// See https://redis.io/topics/pipelining
|
|
||||||
//
|
|
||||||
// Pay attention, that Pipeline is not a transaction, so you can get unexpected
|
|
||||||
// results in case of big pipelines and small read/write timeouts.
|
|
||||||
// Redis client has retransmission logic in case of timeouts, pipeline
|
|
||||||
// can be retransmitted and commands can be executed more then once.
|
|
||||||
// To avoid this: it is good idea to use reasonable bigger read/write timeouts
|
|
||||||
// depends of your batch size and/or use TxPipeline.
|
|
||||||
func (c *ClusterClient) Pipeline() Pipeliner {
|
func (c *ClusterClient) Pipeline() Pipeliner {
|
||||||
pipe := Pipeline{
|
pipe := Pipeline{
|
||||||
exec: c.processPipeline,
|
exec: c.processPipeline,
|
||||||
|
|
26
pipeline.go
26
pipeline.go
|
@ -8,6 +8,19 @@ import (
|
||||||
|
|
||||||
type pipelineExecer func([]Cmder) error
|
type pipelineExecer func([]Cmder) error
|
||||||
|
|
||||||
|
// Pipeliner is an mechanism to realise Redis Pipeline technique.
|
||||||
|
//
|
||||||
|
// Pipelining is a technique to extremely speed up processing by packing
|
||||||
|
// operations to batches, send them at once to Redis and read a replies in a
|
||||||
|
// singe step.
|
||||||
|
// See https://redis.io/topics/pipelining
|
||||||
|
//
|
||||||
|
// Pay attention, that Pipeline is not a transaction, so you can get unexpected
|
||||||
|
// results in case of big pipelines and small read/write timeouts.
|
||||||
|
// Redis client has retransmission logic in case of timeouts, pipeline
|
||||||
|
// can be retransmitted and commands can be executed more then once.
|
||||||
|
// To avoid this: it is good idea to use reasonable bigger read/write timeouts
|
||||||
|
// depends of your batch size and/or use TxPipeline.
|
||||||
type Pipeliner interface {
|
type Pipeliner interface {
|
||||||
StatefulCmdable
|
StatefulCmdable
|
||||||
Do(args ...interface{}) *Cmd
|
Do(args ...interface{}) *Cmd
|
||||||
|
@ -107,19 +120,6 @@ func (c *Pipeline) Pipelined(fn func(Pipeliner) error) ([]Cmder, error) {
|
||||||
return c.pipelined(fn)
|
return c.pipelined(fn)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Pipeline returns mechanism to realise Redis Pipeline technique.
|
|
||||||
//
|
|
||||||
// Pipelining is a technique to extremely speed up processing by packing
|
|
||||||
// operations to batches, send them at once to Redis and read a replies in a
|
|
||||||
// singe step.
|
|
||||||
// See https://redis.io/topics/pipelining
|
|
||||||
//
|
|
||||||
// Pay attention, that Pipeline is not a transaction, so you can get unexpected
|
|
||||||
// results in case of big pipelines and small read/write timeouts.
|
|
||||||
// Redis client has retransmission logic in case of timeouts, pipeline
|
|
||||||
// can be retransmitted and commands can be executed more then once.
|
|
||||||
// To avoid this: it is good idea to use reasonable bigger read/write timeouts
|
|
||||||
// depends of your batch size and/or use TxPipeline.
|
|
||||||
func (c *Pipeline) Pipeline() Pipeliner {
|
func (c *Pipeline) Pipeline() Pipeliner {
|
||||||
return c
|
return c
|
||||||
}
|
}
|
||||||
|
|
26
redis.go
26
redis.go
|
@ -456,19 +456,6 @@ func (c *Client) Pipelined(fn func(Pipeliner) error) ([]Cmder, error) {
|
||||||
return c.Pipeline().Pipelined(fn)
|
return c.Pipeline().Pipelined(fn)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Pipeline returns mechanism to realise Redis Pipeline technique.
|
|
||||||
//
|
|
||||||
// Pipelining is a technique to extremely speed up processing by packing
|
|
||||||
// operations to batches, send them at once to Redis and read a replies in a
|
|
||||||
// singe step.
|
|
||||||
// See https://redis.io/topics/pipelining
|
|
||||||
//
|
|
||||||
// Pay attention, that Pipeline is not a transaction, so you can get unexpected
|
|
||||||
// results in case of big pipelines and small read/write timeouts.
|
|
||||||
// Redis client has retransmission logic in case of timeouts, pipeline
|
|
||||||
// can be retransmitted and commands can be executed more then once.
|
|
||||||
// To avoid this: it is good idea to use reasonable bigger read/write timeouts
|
|
||||||
// depends of your batch size and/or use TxPipeline.
|
|
||||||
func (c *Client) Pipeline() Pipeliner {
|
func (c *Client) Pipeline() Pipeliner {
|
||||||
pipe := Pipeline{
|
pipe := Pipeline{
|
||||||
exec: c.processPipeline,
|
exec: c.processPipeline,
|
||||||
|
@ -571,19 +558,6 @@ func (c *Conn) Pipelined(fn func(Pipeliner) error) ([]Cmder, error) {
|
||||||
return c.Pipeline().Pipelined(fn)
|
return c.Pipeline().Pipelined(fn)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Pipeline returns mechanism to realise Redis Pipeline technique.
|
|
||||||
//
|
|
||||||
// Pipelining is a technique to extremely speed up processing by packing
|
|
||||||
// operations to batches, send them at once to Redis and read a replies in a
|
|
||||||
// singe step.
|
|
||||||
// See https://redis.io/topics/pipelining
|
|
||||||
//
|
|
||||||
// Pay attention, that Pipeline is not a transaction, so you can get unexpected
|
|
||||||
// results in case of big pipelines and small read/write timeouts.
|
|
||||||
// Redis client has retransmission logic in case of timeouts, pipeline
|
|
||||||
// can be retransmitted and commands can be executed more then once.
|
|
||||||
// To avoid this: it is good idea to use reasonable bigger read/write timeouts
|
|
||||||
// depends of your batch size and/or use TxPipeline.
|
|
||||||
func (c *Conn) Pipeline() Pipeliner {
|
func (c *Conn) Pipeline() Pipeliner {
|
||||||
pipe := Pipeline{
|
pipe := Pipeline{
|
||||||
exec: c.processPipeline,
|
exec: c.processPipeline,
|
||||||
|
|
13
ring.go
13
ring.go
|
@ -558,19 +558,6 @@ func (c *Ring) defaultProcess(cmd Cmder) error {
|
||||||
return cmd.Err()
|
return cmd.Err()
|
||||||
}
|
}
|
||||||
|
|
||||||
// Pipeline returns mechanism to realise Redis Pipeline technique.
|
|
||||||
//
|
|
||||||
// Pipelining is a technique to extremely speed up processing by packing
|
|
||||||
// operations to batches, send them at once to Redis and read a replies in a
|
|
||||||
// singe step.
|
|
||||||
// See https://redis.io/topics/pipelining
|
|
||||||
//
|
|
||||||
// Pay attention, that Pipeline is not a transaction, so you can get unexpected
|
|
||||||
// results in case of big pipelines and small read/write timeouts.
|
|
||||||
// Redis client has retransmission logic in case of timeouts, pipeline
|
|
||||||
// can be retransmitted and commands can be executed more then once.
|
|
||||||
// To avoid this: it is good idea to use reasonable bigger read/write timeouts
|
|
||||||
// depends of your batch size and/or use TxPipeline.
|
|
||||||
func (c *Ring) Pipeline() Pipeliner {
|
func (c *Ring) Pipeline() Pipeliner {
|
||||||
pipe := Pipeline{
|
pipe := Pipeline{
|
||||||
exec: c.processPipeline,
|
exec: c.processPipeline,
|
||||||
|
|
Loading…
Reference in New Issue