1
0
mirror of https://github.com/redis/go-redis.git synced 2025-07-28 06:42:00 +03:00

Add pipelining support.

This commit is contained in:
Vladimir Mihailenco
2012-07-29 12:42:00 +03:00
parent e02eaf485f
commit 41137c2e6f
5 changed files with 310 additions and 132 deletions

View File

@ -31,11 +31,11 @@ func (t *RedisTest) SetUpTest(c *C) {
}
t.redisC = redis.NewClient(connect, nil)
t.redisC.Flushdb()
t.redisC.Flushdb().Reply()
}
func (t *RedisTest) TearDownTest(c *C) {
t.redisC.Flushdb()
t.redisC.Flushdb().Reply()
}
//------------------------------------------------------------------------------
@ -120,7 +120,7 @@ func (t *RedisTest) TestMove(c *C) {
c.Check(err, IsNil)
c.Check(isMoved, Equals, false)
t.redisC.Set("foo", "bar")
t.redisC.Set("foo", "bar").Reply()
isMoved, err = t.redisC.Move("foo", 1).Reply()
c.Check(err, IsNil)
@ -1353,6 +1353,27 @@ func (t *RedisTest) TestPubSub(c *C) {
//------------------------------------------------------------------------------
func (t *RedisTest) TestPipelining(c *C) {
t.redisC.Set("foo2", "bar2").Reply()
setReq := t.redisC.Set("foo1", "bar1")
getReq := t.redisC.Get("foo2")
reqs, err := t.redisC.RunQueued()
c.Check(err, IsNil)
c.Check(reqs, HasLen, 2)
ok, err := setReq.Reply()
c.Check(err, IsNil)
c.Check(ok, Equals, "OK")
v, err := getReq.Reply()
c.Check(err, IsNil)
c.Check(v, Equals, "bar2")
}
//------------------------------------------------------------------------------
func (t *RedisTest) TestDiscard(c *C) {
multiC := t.redisC.Multi()