Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var Append = Case{ Func: func(t *testing.T, ctx context.Context, c *redis.Client) { r1, err := c.OpsForKey().Exists(ctx, "mykey") if err != nil { t.Fatal() } assert.Equal(t, r1, int64(0)) r2, err := c.OpsForString().Append(ctx, "mykey", "Hello") if err != nil { t.Fatal() } assert.Equal(t, r2, int64(5)) r3, err := c.OpsForString().Append(ctx, "mykey", " World") if err != nil { t.Fatal() } assert.Equal(t, r3, int64(11)) r4, err := c.OpsForString().Get(ctx, "mykey") if err != nil { t.Fatal() } assert.Equal(t, r4, "Hello World") }, Data: ` { "Session": "df3b64266ebe4e63a464e135000a07cd", "Actions": [{ "Protocol": "REDIS", "Request": "EXISTS mykey", "Response": "\"0\"" }, { "Protocol": "REDIS", "Request": "APPEND mykey Hello", "Response": "\"5\"" }, { "Protocol": "REDIS", "Request": "APPEND mykey \" World\"", "Response": "\"11\"" }, { "Protocol": "REDIS", "Request": "GET mykey", "Response": "\"Hello World\"" }] }`, }
View Source
var BitCount = Case{ Func: func(t *testing.T, ctx context.Context, c *redis.Client) { r1, err := c.OpsForString().Set(ctx, "mykey", "foobar") if err != nil { t.Fatal(err) } assert.True(t, redis.IsOK(r1)) r2, err := c.OpsForBitmap().BitCount(ctx, "mykey") if err != nil { t.Fatal(err) } assert.Equal(t, r2, int64(26)) r3, err := c.OpsForBitmap().BitCount(ctx, "mykey", 0, 0) if err != nil { t.Fatal(err) } assert.Equal(t, r3, int64(4)) r4, err := c.OpsForBitmap().BitCount(ctx, "mykey", 1, 1) if err != nil { t.Fatal(err) } assert.Equal(t, r4, int64(6)) }, Data: `{ "Session": "df3b64266ebe4e63a464e135000a07cd", "Actions": [ { "Protocol": "REDIS", "Request": "SET mykey foobar", "Response": "\"OK\"" }, { "Protocol": "REDIS", "Request": "BITCOUNT mykey", "Response": "\"26\"" }, { "Protocol": "REDIS", "Request": "BITCOUNT mykey 0 0", "Response": "\"4\"" }, { "Protocol": "REDIS", "Request": "BITCOUNT mykey 1 1", "Response": "\"6\"" } ] }`, }
View Source
var BitOpAnd = Case{ Func: func(t *testing.T, ctx context.Context, c *redis.Client) { r1, err := c.OpsForString().Set(ctx, "key1", "foobar") if err != nil { t.Fatal(err) } assert.True(t, redis.IsOK(r1)) r2, err := c.OpsForString().Set(ctx, "key2", "abcdef") if err != nil { t.Fatal(err) } assert.True(t, redis.IsOK(r2)) r3, err := c.OpsForBitmap().BitOpAnd(ctx, "dest", "key1", "key2") if err != nil { t.Fatal(err) } assert.Equal(t, r3, int64(6)) r4, err := c.OpsForString().Get(ctx, "dest") if err != nil { t.Fatal(err) } assert.Equal(t, r4, "`bc`ab") }, Data: `{ "Session": "df3b64266ebe4e63a464e135000a07cd", "Actions": [ { "Protocol": "REDIS", "Request": "SET key1 foobar", "Response": "\"OK\"" }, { "Protocol": "REDIS", "Request": "SET key2 abcdef", "Response": "\"OK\"" }, { "Protocol": "REDIS", "Request": "BITOP AND dest key1 key2", "Response": "\"6\"" }, { "Protocol": "REDIS", "Request": "GET dest", "Response": "\"` + "`bc`ab" + `\"" } ] }`, }
View Source
var BitPos = Case{ Func: func(t *testing.T, ctx context.Context, c *redis.Client) { r1, err := c.OpsForString().Set(ctx, "mykey", "\xff\xf0\x00") if err != nil { t.Fatal(err) } assert.True(t, redis.IsOK(r1)) r2, err := c.OpsForBitmap().BitPos(ctx, "mykey", 0) if err != nil { t.Fatal(err) } assert.Equal(t, r2, int64(12)) r3, err := c.OpsForString().Set(ctx, "mykey", "\x00\xff\xf0") if err != nil { t.Fatal(err) } assert.True(t, redis.IsOK(r3)) r4, err := c.OpsForBitmap().BitPos(ctx, "mykey", 1, 0) if err != nil { t.Fatal(err) } assert.Equal(t, r4, int64(8)) r5, err := c.OpsForBitmap().BitPos(ctx, "mykey", 1, 2) if err != nil { t.Fatal(err) } assert.Equal(t, r5, int64(16)) r6, err := c.OpsForString().Set(ctx, "mykey", "\x00\x00\x00") if err != nil { t.Fatal(err) } assert.True(t, redis.IsOK(r6)) r7, err := c.OpsForBitmap().BitPos(ctx, "mykey", 1) if err != nil { t.Fatal(err) } assert.Equal(t, r7, int64(-1)) }, Data: ` { "Session": "df3b64266ebe4e63a464e135000a07cd", "Actions": [{ "Protocol": "REDIS", "Request": "SET mykey \"\\xff\\xf0\\x00\"", "Response": "\"OK\"" }, { "Protocol": "REDIS", "Request": "BITPOS mykey 0", "Response": "\"12\"" }, { "Protocol": "REDIS", "Request": "SET mykey \"\\x00\\xff\\xf0\"", "Response": "\"OK\"" }, { "Protocol": "REDIS", "Request": "BITPOS mykey 1 0", "Response": "\"8\"" }, { "Protocol": "REDIS", "Request": "BITPOS mykey 1 2", "Response": "\"16\"" }, { "Protocol": "REDIS", "Request": "SET mykey \u0000\u0000\u0000", "Response": "\"OK\"" }, { "Protocol": "REDIS", "Request": "BITPOS mykey 1", "Response": "\"-1\"" }] }`, }
View Source
var Decr = Case{ Func: func(t *testing.T, ctx context.Context, c *redis.Client) { r1, err := c.OpsForString().Set(ctx, "mykey", "10") if err != nil { t.Fatal(err) } assert.True(t, redis.IsOK(r1)) r2, err := c.OpsForString().Decr(ctx, "mykey") if err != nil { t.Fatal(err) } assert.Equal(t, r2, int64(9)) r3, err := c.OpsForString().Set(ctx, "mykey", "234293482390480948029348230948") if err != nil { t.Fatal(err) } assert.True(t, redis.IsOK(r3)) _, err = c.OpsForString().Decr(ctx, "mykey") assert.Error(t, err, "ERR value is not an integer or out of range") }, Data: ` { "Session": "df3b64266ebe4e63a464e135000a07cd", "Actions": [{ "Protocol": "REDIS", "Request": "SET mykey 10", "Response": "\"OK\"" }, { "Protocol": "REDIS", "Request": "DECR mykey", "Response": "\"9\"" }, { "Protocol": "REDIS", "Request": "SET mykey 234293482390480948029348230948", "Response": "\"OK\"" }, { "Protocol": "REDIS", "Request": "DECR mykey", "Response": "(err) ERR value is not an integer or out of range" }] }`, }
View Source
var DecrBy = Case{ Func: func(t *testing.T, ctx context.Context, c *redis.Client) { r1, err := c.OpsForString().Set(ctx, "mykey", "10") if err != nil { t.Fatal(err) } assert.True(t, redis.IsOK(r1)) r2, err := c.OpsForString().DecrBy(ctx, "mykey", 3) if err != nil { t.Fatal(err) } assert.Equal(t, r2, int64(7)) }, Data: ` { "Session": "df3b64266ebe4e63a464e135000a07cd", "Actions": [{ "Protocol": "REDIS", "Request": "SET mykey 10", "Response": "\"OK\"" }, { "Protocol": "REDIS", "Request": "DECRBY mykey 3", "Response": "\"7\"" }] }`, }
View Source
var Del = Case{ Func: func(t *testing.T, ctx context.Context, c *redis.Client) { r1, err := c.OpsForString().Set(ctx, "key1", "Hello") if err != nil { t.Fatal(err) } assert.True(t, redis.IsOK(r1)) r2, err := c.OpsForString().Set(ctx, "key2", "World") if err != nil { t.Fatal(err) } assert.True(t, redis.IsOK(r2)) r3, err := c.OpsForKey().Del(ctx, "key1", "key2", "key3") if err != nil { t.Fatal(err) } assert.Equal(t, r3, int64(2)) }, Data: ` { "Session": "df3b64266ebe4e63a464e135000a07cd", "Actions": [{ "Protocol": "REDIS", "Request": "SET key1 Hello", "Response": "\"OK\"" }, { "Protocol": "REDIS", "Request": "SET key2 World", "Response": "\"OK\"" }, { "Protocol": "REDIS", "Request": "DEL key1 key2 key3", "Response": "\"2\"" }] }`, }
View Source
var Dump = Case{ Func: func(t *testing.T, ctx context.Context, c *redis.Client) { r1, err := c.OpsForString().Set(ctx, "mykey", 10) if err != nil { t.Fatal(err) } assert.True(t, redis.IsOK(r1)) r2, err := c.OpsForKey().Dump(ctx, "mykey") if err != nil { t.Fatal(err) } assert.Equal(t, r2, "\u0000\xC0\n\t\u0000\xBEm\u0006\x89Z(\u0000\n") }, Data: ` { "Session": "df3b64266ebe4e63a464e135000a07cd", "Actions": [{ "Protocol": "REDIS", "Request": "SET mykey 10", "Response": "\"OK\"" }, { "Protocol": "REDIS", "Request": "DUMP mykey", "Response": "\"\\x00\\xc0\\n\\t\\x00\\xbem\\x06\\x89Z(\\x00\\n\"" }] }`, }
View Source
var Exists = Case{ Func: func(t *testing.T, ctx context.Context, c *redis.Client) { r1, err := c.OpsForString().Set(ctx, "key1", "Hello") if err != nil { t.Fatal(err) } assert.True(t, redis.IsOK(r1)) r2, err := c.OpsForKey().Exists(ctx, "key1") if err != nil { t.Fatal(err) } assert.Equal(t, r2, int64(1)) r3, err := c.OpsForKey().Exists(ctx, "nosuchkey") if err != nil { t.Fatal(err) } assert.Equal(t, r3, int64(0)) r4, err := c.OpsForString().Set(ctx, "key2", "World") if err != nil { t.Fatal(err) } assert.True(t, redis.IsOK(r4)) r5, err := c.OpsForKey().Exists(ctx, "key1", "key2", "nosuchkey") if err != nil { t.Fatal(err) } assert.Equal(t, r5, int64(2)) }, Data: ` { "Session": "df3b64266ebe4e63a464e135000a07cd", "Actions": [{ "Protocol": "REDIS", "Request": "SET key1 Hello", "Response": "\"OK\"" }, { "Protocol": "REDIS", "Request": "EXISTS key1", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "EXISTS nosuchkey", "Response": "\"0\"" }, { "Protocol": "REDIS", "Request": "SET key2 World", "Response": "\"OK\"" }, { "Protocol": "REDIS", "Request": "EXISTS key1 key2 nosuchkey", "Response": "\"2\"" }] }`, }
View Source
var Expire = Case{ Func: func(t *testing.T, ctx context.Context, c *redis.Client) { r1, err := c.OpsForString().Set(ctx, "mykey", "Hello") if err != nil { t.Fatal(err) } assert.True(t, redis.IsOK(r1)) r2, err := c.OpsForKey().Expire(ctx, "mykey", 10) if err != nil { t.Fatal(err) } assert.Equal(t, r2, int64(1)) r3, err := c.OpsForKey().TTL(ctx, "mykey") if err != nil { t.Fatal(err) } assert.Equal(t, r3, int64(10)) r4, err := c.OpsForString().Set(ctx, "mykey", "Hello World") if err != nil { t.Fatal(err) } assert.True(t, redis.IsOK(r4)) r5, err := c.OpsForKey().TTL(ctx, "mykey") if err != nil { t.Fatal(err) } assert.Equal(t, r5, int64(-1)) }, Data: ` { "Session": "df3b64266ebe4e63a464e135000a07cd", "Actions": [{ "Protocol": "REDIS", "Request": "SET mykey Hello", "Response": "\"OK\"" }, { "Protocol": "REDIS", "Request": "EXPIRE mykey 10", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "TTL mykey", "Response": "\"10\"" }, { "Protocol": "REDIS", "Request": "SET mykey \"Hello World\"", "Response": "\"OK\"" }, { "Protocol": "REDIS", "Request": "TTL mykey", "Response": "\"-1\"" }] }`, }
View Source
var ExpireAt = Case{ Func: func(t *testing.T, ctx context.Context, c *redis.Client) { r1, err := c.OpsForString().Set(ctx, "mykey", "Hello") if err != nil { t.Fatal(err) } assert.True(t, redis.IsOK(r1)) r2, err := c.OpsForKey().Exists(ctx, "mykey") if err != nil { t.Fatal(err) } assert.Equal(t, r2, int64(1)) r3, err := c.OpsForKey().ExpireAt(ctx, "mykey", 1293840000) if err != nil { t.Fatal(err) } assert.Equal(t, r3, int64(1)) r4, err := c.OpsForKey().Exists(ctx, "mykey") if err != nil { t.Fatal(err) } assert.Equal(t, r4, int64(0)) }, Data: ` { "Session": "df3b64266ebe4e63a464e135000a07cd", "Actions": [{ "Protocol": "REDIS", "Request": "SET mykey Hello", "Response": "\"OK\"" }, { "Protocol": "REDIS", "Request": "EXISTS mykey", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "EXPIREAT mykey 1293840000", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "EXISTS mykey", "Response": "\"0\"" }] }`, }
View Source
var Get = Case{ Func: func(t *testing.T, ctx context.Context, c *redis.Client) { _, err := c.OpsForString().Get(ctx, "nonexisting") assert.True(t, redis.IsErrNil(err)) r2, err := c.OpsForString().Set(ctx, "mykey", "Hello") if err != nil { t.Fatal(err) } assert.True(t, redis.IsOK(r2)) r3, err := c.OpsForString().Get(ctx, "mykey") if err != nil { t.Fatal(err) } assert.Equal(t, r3, "Hello") }, Data: ` { "Session": "df3b64266ebe4e63a464e135000a07cd", "Actions": [{ "Protocol": "REDIS", "Request": "GET nonexisting", "Response": "NULL" }, { "Protocol": "REDIS", "Request": "SET mykey Hello", "Response": "\"OK\"" }, { "Protocol": "REDIS", "Request": "GET mykey", "Response": "\"Hello\"" }] }`, }
View Source
var GetBit = Case{ Func: func(t *testing.T, ctx context.Context, c *redis.Client) { r1, err := c.OpsForBitmap().SetBit(ctx, "mykey", 7, 1) if err != nil { t.Fatal(err) } assert.Equal(t, r1, int64(0)) r2, err := c.OpsForBitmap().GetBit(ctx, "mykey", 0) if err != nil { t.Fatal(err) } assert.Equal(t, r2, int64(0)) r3, err := c.OpsForBitmap().GetBit(ctx, "mykey", 7) if err != nil { t.Fatal(err) } assert.Equal(t, r3, int64(1)) r4, err := c.OpsForBitmap().GetBit(ctx, "mykey", 100) if err != nil { t.Fatal(err) } assert.Equal(t, r4, int64(0)) }, Data: ` { "Session": "df3b64266ebe4e63a464e135000a07cd", "Actions": [{ "Protocol": "REDIS", "Request": "SETBIT mykey 7 1", "Response": "\"0\"" }, { "Protocol": "REDIS", "Request": "GETBIT mykey 0", "Response": "\"0\"" }, { "Protocol": "REDIS", "Request": "GETBIT mykey 7", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "GETBIT mykey 100", "Response": "\"0\"" }] }`, }
View Source
var GetDel = Case{ Func: func(t *testing.T, ctx context.Context, c *redis.Client) { r1, err := c.OpsForString().Set(ctx, "mykey", "Hello") if err != nil { t.Fatal(err) } assert.True(t, redis.IsOK(r1)) r2, err := c.OpsForString().GetDel(ctx, "mykey") if err != nil { t.Fatal(err) } assert.Equal(t, r2, "Hello") _, err = c.OpsForString().Get(ctx, "mykey") assert.True(t, redis.IsErrNil(err)) }, Data: ` { "Session": "df3b64266ebe4e63a464e135000a07cd", "Actions": [{ "Protocol": "REDIS", "Request": "SET mykey Hello", "Response": "\"OK\"" }, { "Protocol": "REDIS", "Request": "GETDEL mykey", "Response": "\"Hello\"" }, { "Protocol": "REDIS", "Request": "GET mykey", "Response": "NULL" }] }`, }
View Source
var GetRange = Case{ Func: func(t *testing.T, ctx context.Context, c *redis.Client) { r1, err := c.OpsForString().Set(ctx, "mykey", "This is a string") if err != nil { t.Fatal(err) } assert.True(t, redis.IsOK(r1)) r2, err := c.OpsForString().GetRange(ctx, "mykey", 0, 3) if err != nil { t.Fatal(err) } assert.Equal(t, r2, "This") r3, err := c.OpsForString().GetRange(ctx, "mykey", -3, -1) if err != nil { t.Fatal(err) } assert.Equal(t, r3, "ing") r4, err := c.OpsForString().GetRange(ctx, "mykey", 0, -1) if err != nil { t.Fatal(err) } assert.Equal(t, r4, "This is a string") r5, err := c.OpsForString().GetRange(ctx, "mykey", 10, 100) if err != nil { t.Fatal(err) } assert.Equal(t, r5, "string") }, Data: ` { "Session": "df3b64266ebe4e63a464e135000a07cd", "Actions": [{ "Protocol": "REDIS", "Request": "SET mykey \"This is a string\"", "Response": "\"OK\"" }, { "Protocol": "REDIS", "Request": "GETRANGE mykey 0 3", "Response": "\"This\"" }, { "Protocol": "REDIS", "Request": "GETRANGE mykey -3 -1", "Response": "\"ing\"" }, { "Protocol": "REDIS", "Request": "GETRANGE mykey 0 -1", "Response": "\"This is a string\"" }, { "Protocol": "REDIS", "Request": "GETRANGE mykey 10 100", "Response": "\"string\"" }] }`, }
View Source
var GetSet = Case{ Func: func(t *testing.T, ctx context.Context, c *redis.Client) { r1, err := c.OpsForString().Incr(ctx, "mycounter") if err != nil { t.Fatal(err) } assert.Equal(t, r1, int64(1)) r2, err := c.OpsForString().GetSet(ctx, "mycounter", "0") if err != nil { t.Fatal(err) } assert.Equal(t, r2, "1") r3, err := c.OpsForString().Get(ctx, "mycounter") if err != nil { t.Fatal(err) } assert.Equal(t, r3, "0") r4, err := c.OpsForString().Set(ctx, "mykey", "Hello") if err != nil { t.Fatal(err) } assert.True(t, redis.IsOK(r4)) r5, err := c.OpsForString().GetSet(ctx, "mykey", "World") if err != nil { t.Fatal(err) } assert.Equal(t, r5, "Hello") r6, err := c.OpsForString().Get(ctx, "mykey") if err != nil { t.Fatal(err) } assert.Equal(t, r6, "World") }, Data: ` { "Session": "df3b64266ebe4e63a464e135000a07cd", "Actions": [{ "Protocol": "REDIS", "Request": "INCR mycounter", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "GETSET mycounter 0", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "GET mycounter", "Response": "\"0\"" }, { "Protocol": "REDIS", "Request": "SET mykey Hello", "Response": "\"OK\"" }, { "Protocol": "REDIS", "Request": "GETSET mykey World", "Response": "\"Hello\"" }, { "Protocol": "REDIS", "Request": "GET mykey", "Response": "\"World\"" }] }`, }
View Source
var HDel = Case{ Func: func(t *testing.T, ctx context.Context, c *redis.Client) { r1, err := c.OpsForHash().HSet(ctx, "myhash", "field1", "foo") if err != nil { t.Fatal(err) } assert.Equal(t, r1, int64(1)) r2, err := c.OpsForHash().HDel(ctx, "myhash", "field1") if err != nil { t.Fatal(err) } assert.Equal(t, r2, int64(1)) r3, err := c.OpsForHash().HDel(ctx, "myhash", "field2") if err != nil { t.Fatal(err) } assert.Equal(t, r3, int64(0)) }, Data: ` { "Session": "df3b64266ebe4e63a464e135000a07cd", "Actions": [{ "Protocol": "REDIS", "Request": "HSET myhash field1 foo", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "HDEL myhash field1", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "HDEL myhash field2", "Response": "\"0\"" }] }`, }
View Source
var HExists = Case{ Func: func(t *testing.T, ctx context.Context, c *redis.Client) { r1, err := c.OpsForHash().HSet(ctx, "myhash", "field1", "foo") if err != nil { t.Fatal(err) } assert.Equal(t, r1, int64(1)) r2, err := c.OpsForHash().HExists(ctx, "myhash", "field1") if err != nil { t.Fatal(err) } assert.Equal(t, r2, int64(1)) r3, err := c.OpsForHash().HExists(ctx, "myhash", "field2") if err != nil { t.Fatal(err) } assert.Equal(t, r3, int64(0)) }, Data: ` { "Session": "df3b64266ebe4e63a464e135000a07cd", "Actions": [{ "Protocol": "REDIS", "Request": "HSET myhash field1 foo", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "HEXISTS myhash field1", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "HEXISTS myhash field2", "Response": "\"0\"" }] }`, }
View Source
var HGet = Case{ Func: func(t *testing.T, ctx context.Context, c *redis.Client) { r1, err := c.OpsForHash().HSet(ctx, "myhash", "field1", "foo") if err != nil { t.Fatal(err) } assert.Equal(t, r1, int64(1)) r2, err := c.OpsForHash().HGet(ctx, "myhash", "field1") if err != nil { t.Fatal(err) } assert.Equal(t, r2, "foo") _, err = c.OpsForHash().HGet(ctx, "myhash", "field2") assert.True(t, redis.IsErrNil(err)) }, Data: ` { "Session": "df3b64266ebe4e63a464e135000a07cd", "Actions": [{ "Protocol": "REDIS", "Request": "HSET myhash field1 foo", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "HGET myhash field1", "Response": "\"foo\"" }, { "Protocol": "REDIS", "Request": "HGET myhash field2", "Response": "NULL" }] }`, }
View Source
var HGetAll = Case{ Func: func(t *testing.T, ctx context.Context, c *redis.Client) { r1, err := c.OpsForHash().HSet(ctx, "myhash", "field1", "Hello") if err != nil { t.Fatal(err) } assert.Equal(t, r1, int64(1)) r2, err := c.OpsForHash().HSet(ctx, "myhash", "field2", "World") if err != nil { t.Fatal(err) } assert.Equal(t, r2, int64(1)) r3, err := c.OpsForHash().HGetAll(ctx, "myhash") if err != nil { t.Fatal(err) } assert.Equal(t, r3, map[string]string{ "field1": "Hello", "field2": "World", }) }, Data: ` { "Session": "df3b64266ebe4e63a464e135000a07cd", "Actions": [{ "Protocol": "REDIS", "Request": "HSET myhash field1 Hello", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "HSET myhash field2 World", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "HGETALL myhash", "Response": "\"field1\",\"Hello\",\"field2\",\"World\"" }] }`, }
View Source
var HIncrBy = Case{ Func: func(t *testing.T, ctx context.Context, c *redis.Client) { r1, err := c.OpsForHash().HSet(ctx, "myhash", "field", 5) if err != nil { t.Fatal(err) } assert.Equal(t, r1, int64(1)) r2, err := c.OpsForHash().HIncrBy(ctx, "myhash", "field", 1) if err != nil { t.Fatal(err) } assert.Equal(t, r2, int64(6)) r3, err := c.OpsForHash().HIncrBy(ctx, "myhash", "field", -1) if err != nil { t.Fatal(err) } assert.Equal(t, r3, int64(5)) r4, err := c.OpsForHash().HIncrBy(ctx, "myhash", "field", -10) if err != nil { t.Fatal(err) } assert.Equal(t, r4, int64(-5)) }, Data: ` { "Session": "df3b64266ebe4e63a464e135000a07cd", "Actions": [{ "Protocol": "REDIS", "Request": "HSET myhash field 5", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "HINCRBY myhash field 1", "Response": "\"6\"" }, { "Protocol": "REDIS", "Request": "HINCRBY myhash field -1", "Response": "\"5\"" }, { "Protocol": "REDIS", "Request": "HINCRBY myhash field -10", "Response": "\"-5\"" }] }`, }
View Source
var HIncrByFloat = Case{ Func: func(t *testing.T, ctx context.Context, c *redis.Client) { r1, err := c.OpsForHash().HSet(ctx, "mykey", "field", 10.50) if err != nil { t.Fatal(err) } assert.Equal(t, r1, int64(1)) r2, err := c.OpsForHash().HIncrByFloat(ctx, "mykey", "field", 0.1) if err != nil { t.Fatal(err) } assert.Equal(t, r2, 10.6) r3, err := c.OpsForHash().HIncrByFloat(ctx, "mykey", "field", -5) if err != nil { t.Fatal(err) } assert.Equal(t, r3, 5.6) r4, err := c.OpsForHash().HSet(ctx, "mykey", "field", 5.0e3) if err != nil { t.Fatal(err) } assert.Equal(t, r4, int64(0)) r5, err := c.OpsForHash().HIncrByFloat(ctx, "mykey", "field", 2.0e2) if err != nil { t.Fatal(err) } assert.Equal(t, r5, float64(5200)) }, Data: ` { "Session": "df3b64266ebe4e63a464e135000a07cd", "Actions": [{ "Protocol": "REDIS", "Request": "HSET mykey field 10.5", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "HINCRBYFLOAT mykey field 0.1", "Response": "\"10.6\"" }, { "Protocol": "REDIS", "Request": "HINCRBYFLOAT mykey field -5", "Response": "\"5.6\"" }, { "Protocol": "REDIS", "Request": "HSET mykey field 5000", "Response": "\"0\"" }, { "Protocol": "REDIS", "Request": "HINCRBYFLOAT mykey field 200", "Response": "\"5200\"" }] }`, }
View Source
var HKeys = Case{ Func: func(t *testing.T, ctx context.Context, c *redis.Client) { r1, err := c.OpsForHash().HSet(ctx, "myhash", "field1", "Hello") if err != nil { t.Fatal(err) } assert.Equal(t, r1, int64(1)) r2, err := c.OpsForHash().HSet(ctx, "myhash", "field2", "World") if err != nil { t.Fatal(err) } assert.Equal(t, r2, int64(1)) r3, err := c.OpsForHash().HKeys(ctx, "myhash") if err != nil { t.Fatal(err) } assert.Equal(t, r3, []string{"field1", "field2"}) }, Data: ` { "Session": "df3b64266ebe4e63a464e135000a07cd", "Actions": [{ "Protocol": "REDIS", "Request": "HSET myhash field1 Hello", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "HSET myhash field2 World", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "HKEYS myhash", "Response": "\"field1\",\"field2\"" }] }`, }
View Source
var HLen = Case{ Func: func(t *testing.T, ctx context.Context, c *redis.Client) { r1, err := c.OpsForHash().HSet(ctx, "myhash", "field1", "Hello") if err != nil { t.Fatal(err) } assert.Equal(t, r1, int64(1)) r2, err := c.OpsForHash().HSet(ctx, "myhash", "field2", "World") if err != nil { t.Fatal(err) } assert.Equal(t, r2, int64(1)) r3, err := c.OpsForHash().HLen(ctx, "myhash") if err != nil { t.Fatal(err) } assert.Equal(t, r3, int64(2)) }, Data: ` { "Session": "df3b64266ebe4e63a464e135000a07cd", "Actions": [{ "Protocol": "REDIS", "Request": "HSET myhash field1 Hello", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "HSET myhash field2 World", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "HLEN myhash", "Response": "\"2\"" }] }`, }
View Source
var HMGet = Case{ Func: func(t *testing.T, ctx context.Context, c *redis.Client) { r1, err := c.OpsForHash().HSet(ctx, "myhash", "field1", "Hello") if err != nil { t.Fatal(err) } assert.Equal(t, r1, int64(1)) r2, err := c.OpsForHash().HSet(ctx, "myhash", "field2", "World") if err != nil { t.Fatal(err) } assert.Equal(t, r2, int64(1)) r3, err := c.OpsForHash().HMGet(ctx, "myhash", "field1", "field2", "nofield") if err != nil { t.Fatal(err) } assert.Equal(t, r3, []interface{}{"Hello", "World", nil}) }, Data: ` { "Session": "df3b64266ebe4e63a464e135000a07cd", "Actions": [{ "Protocol": "REDIS", "Request": "HSET myhash field1 Hello", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "HSET myhash field2 World", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "HMGET myhash field1 field2 nofield", "Response": "\"Hello\",\"World\",NULL" }] }`, }
View Source
var HSet = Case{ Func: func(t *testing.T, ctx context.Context, c *redis.Client) { r1, err := c.OpsForHash().HSet(ctx, "myhash", "field1", "Hello") if err != nil { t.Fatal(err) } assert.Equal(t, r1, int64(1)) r2, err := c.OpsForHash().HGet(ctx, "myhash", "field1") if err != nil { t.Fatal(err) } assert.Equal(t, r2, "Hello") }, Data: ` { "Session": "df3b64266ebe4e63a464e135000a07cd", "Actions": [{ "Protocol": "REDIS", "Request": "HSET myhash field1 Hello", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "HGET myhash field1", "Response": "\"Hello\"" }] }`, }
View Source
var HSetNX = Case{ Func: func(t *testing.T, ctx context.Context, c *redis.Client) { r1, err := c.OpsForHash().HSetNX(ctx, "myhash", "field", "Hello") if err != nil { t.Fatal(err) } assert.Equal(t, r1, int64(1)) r2, err := c.OpsForHash().HSetNX(ctx, "myhash", "field", "World") if err != nil { t.Fatal(err) } assert.Equal(t, r2, int64(0)) r3, err := c.OpsForHash().HGet(ctx, "myhash", "field") if err != nil { t.Fatal(err) } assert.Equal(t, r3, "Hello") }, Data: ` { "Session": "df3b64266ebe4e63a464e135000a07cd", "Actions": [{ "Protocol": "REDIS", "Request": "HSETNX myhash field Hello", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "HSETNX myhash field World", "Response": "\"0\"" }, { "Protocol": "REDIS", "Request": "HGET myhash field", "Response": "\"Hello\"" }] }`, }
View Source
var HStrLen = Case{ Func: func(t *testing.T, ctx context.Context, c *redis.Client) { r1, err := c.OpsForHash().HSet(ctx, "myhash", "f1", "HelloWorld", "f2", 99, "f3", -256) if err != nil { t.Fatal(err) } assert.Equal(t, r1, int64(3)) r2, err := c.OpsForHash().HStrLen(ctx, "myhash", "f1") if err != nil { t.Fatal(err) } assert.Equal(t, r2, int64(10)) r3, err := c.OpsForHash().HStrLen(ctx, "myhash", "f2") if err != nil { t.Fatal(err) } assert.Equal(t, r3, int64(2)) r4, err := c.OpsForHash().HStrLen(ctx, "myhash", "f3") if err != nil { t.Fatal(err) } assert.Equal(t, r4, int64(4)) }, Data: ` { "Session": "df3b64266ebe4e63a464e135000a07cd", "Actions": [{ "Protocol": "REDIS", "Request": "HSET myhash f1 HelloWorld f2 99 f3 -256", "Response": "\"3\"" }, { "Protocol": "REDIS", "Request": "HSTRLEN myhash f1", "Response": "\"10\"" }, { "Protocol": "REDIS", "Request": "HSTRLEN myhash f2", "Response": "\"2\"" }, { "Protocol": "REDIS", "Request": "HSTRLEN myhash f3", "Response": "\"4\"" }] }`, }
View Source
var HVals = Case{ Func: func(t *testing.T, ctx context.Context, c *redis.Client) { r1, err := c.OpsForHash().HSet(ctx, "myhash", "field1", "Hello") if err != nil { t.Fatal(err) } assert.Equal(t, r1, int64(1)) r2, err := c.OpsForHash().HSet(ctx, "myhash", "field2", "World") if err != nil { t.Fatal(err) } assert.Equal(t, r2, int64(1)) r3, err := c.OpsForHash().HVals(ctx, "myhash") if err != nil { t.Fatal(err) } assert.Equal(t, r3, []string{"Hello", "World"}) }, Data: ` { "Session": "df3b64266ebe4e63a464e135000a07cd", "Actions": [{ "Protocol": "REDIS", "Request": "HSET myhash field1 Hello", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "HSET myhash field2 World", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "HVALS myhash", "Response": "\"Hello\",\"World\"" }] }`, }
View Source
var Incr = Case{ Func: func(t *testing.T, ctx context.Context, c *redis.Client) { r1, err := c.OpsForString().Set(ctx, "mykey", "10") if err != nil { t.Fatal(err) } assert.True(t, redis.IsOK(r1)) r2, err := c.OpsForString().Incr(ctx, "mykey") if err != nil { t.Fatal(err) } assert.Equal(t, r2, int64(11)) r3, err := c.OpsForString().Get(ctx, "mykey") if err != nil { t.Fatal(err) } assert.Equal(t, r3, "11") }, Data: ` { "Session": "df3b64266ebe4e63a464e135000a07cd", "Actions": [{ "Protocol": "REDIS", "Request": "SET mykey 10", "Response": "\"OK\"" }, { "Protocol": "REDIS", "Request": "INCR mykey", "Response": "\"11\"" }, { "Protocol": "REDIS", "Request": "GET mykey", "Response": "\"11\"" }] }`, }
View Source
var IncrBy = Case{ Func: func(t *testing.T, ctx context.Context, c *redis.Client) { r1, err := c.OpsForString().Set(ctx, "mykey", "10") if err != nil { t.Fatal(err) } assert.True(t, redis.IsOK(r1)) r2, err := c.OpsForString().IncrBy(ctx, "mykey", 5) if err != nil { t.Fatal(err) } assert.Equal(t, r2, int64(15)) }, Data: ` { "Session": "df3b64266ebe4e63a464e135000a07cd", "Actions": [{ "Protocol": "REDIS", "Request": "SET mykey 10", "Response": "\"OK\"" }, { "Protocol": "REDIS", "Request": "INCRBY mykey 5", "Response": "\"15\"" }] }`, }
View Source
var IncrByFloat = Case{ Func: func(t *testing.T, ctx context.Context, c *redis.Client) { r1, err := c.OpsForString().Set(ctx, "mykey", 10.50) if err != nil { t.Fatal(err) } assert.True(t, redis.IsOK(r1)) r2, err := c.OpsForString().IncrByFloat(ctx, "mykey", 0.1) if err != nil { t.Fatal(err) } assert.Equal(t, r2, 10.6) r3, err := c.OpsForString().IncrByFloat(ctx, "mykey", -5) if err != nil { t.Fatal(err) } assert.Equal(t, r3, 5.6) r4, err := c.OpsForString().Set(ctx, "mykey", 5.0e3) if err != nil { t.Fatal(err) } assert.True(t, redis.IsOK(r4)) r5, err := c.OpsForString().IncrByFloat(ctx, "mykey", 2.0e2) if err != nil { t.Fatal(err) } assert.Equal(t, r5, float64(5200)) }, Data: ` { "Session": "df3b64266ebe4e63a464e135000a07cd", "Actions": [{ "Protocol": "REDIS", "Request": "SET mykey 10.5", "Response": "\"OK\"" }, { "Protocol": "REDIS", "Request": "INCRBYFLOAT mykey 0.1", "Response": "\"10.6\"" }, { "Protocol": "REDIS", "Request": "INCRBYFLOAT mykey -5", "Response": "\"5.6\"" }, { "Protocol": "REDIS", "Request": "SET mykey 5000", "Response": "\"OK\"" }, { "Protocol": "REDIS", "Request": "INCRBYFLOAT mykey 200", "Response": "\"5200\"" }] }`, }
View Source
var Keys = Case{ Func: func(t *testing.T, ctx context.Context, c *redis.Client) { r1, err := c.OpsForString().MSet(ctx, "firstname", "Jack", "lastname", "Stuntman", "age", 35) if err != nil { t.Fatal(err) } assert.True(t, redis.IsOK(r1)) r2, err := c.OpsForKey().Keys(ctx, "*name*") if err != nil { t.Fatal(err) } sort.Strings(r2) assert.Equal(t, r2, []string{"firstname", "lastname"}) r3, err := c.OpsForKey().Keys(ctx, "a??") if err != nil { t.Fatal(err) } assert.Equal(t, r3, []string{"age"}) r4, err := c.OpsForKey().Keys(ctx, "*") if err != nil { t.Fatal(err) } sort.Strings(r4) assert.Equal(t, r4, []string{"age", "firstname", "lastname"}) }, Skip: true, Data: ` { "Session": "df3b64266ebe4e63a464e135000a07cd", "Actions": [{ "Protocol": "REDIS", "Request": "MSET firstname Jack lastname Stuntman age 35", "Response": "\"OK\"" }, { "Protocol": "REDIS", "Request": "KEYS *name*", "Response": "\"lastname\",\"firstname\"" }, { "Protocol": "REDIS", "Request": "KEYS a??", "Response": "\"age\"" }, { "Protocol": "REDIS", "Request": "KEYS *", "Response": "\"age\",\"lastname\",\"firstname\"" }] }`, }
View Source
var LIndex = Case{ Func: func(t *testing.T, ctx context.Context, c *redis.Client) { r1, err := c.OpsForList().LPush(ctx, "mylist", "World") if err != nil { t.Fatal(err) } assert.Equal(t, r1, int64(1)) r2, err := c.OpsForList().LPush(ctx, "mylist", "Hello") if err != nil { t.Fatal(err) } assert.Equal(t, r2, int64(2)) r3, err := c.OpsForList().LIndex(ctx, "mylist", 0) if err != nil { t.Fatal(err) } assert.Equal(t, r3, "Hello") r4, err := c.OpsForList().LIndex(ctx, "mylist", -1) if err != nil { t.Fatal(err) } assert.Equal(t, r4, "World") _, err = c.OpsForList().LIndex(ctx, "mylist", 3) assert.True(t, redis.IsErrNil(err)) }, Data: ` { "Session": "df3b64266ebe4e63a464e135000a07cd", "Actions": [{ "Protocol": "REDIS", "Request": "LPUSH mylist World", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "LPUSH mylist Hello", "Response": "\"2\"" }, { "Protocol": "REDIS", "Request": "LINDEX mylist 0", "Response": "\"Hello\"" }, { "Protocol": "REDIS", "Request": "LINDEX mylist -1", "Response": "\"World\"" }, { "Protocol": "REDIS", "Request": "LINDEX mylist 3", "Response": "NULL" }] }`, }
View Source
var LInsert = Case{ Func: func(t *testing.T, ctx context.Context, c *redis.Client) { r1, err := c.OpsForList().RPush(ctx, "mylist", "Hello") if err != nil { t.Fatal(err) } assert.Equal(t, r1, int64(1)) r2, err := c.OpsForList().RPush(ctx, "mylist", "World") if err != nil { t.Fatal(err) } assert.Equal(t, r2, int64(2)) r3, err := c.OpsForList().LInsertBefore(ctx, "mylist", "World", "There") if err != nil { t.Fatal(err) } assert.Equal(t, r3, int64(3)) r4, err := c.OpsForList().LRange(ctx, "mylist", 0, -1) if err != nil { t.Fatal(err) } assert.Equal(t, r4, []string{"Hello", "There", "World"}) }, Data: ` { "Session": "df3b64266ebe4e63a464e135000a07cd", "Actions": [{ "Protocol": "REDIS", "Request": "RPUSH mylist Hello", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "RPUSH mylist World", "Response": "\"2\"" }, { "Protocol": "REDIS", "Request": "LINSERT mylist BEFORE World There", "Response": "\"3\"" }, { "Protocol": "REDIS", "Request": "LRANGE mylist 0 -1", "Response": "\"Hello\",\"There\",\"World\"" }] }`, }
View Source
var LLen = Case{ Func: func(t *testing.T, ctx context.Context, c *redis.Client) { r1, err := c.OpsForList().LPush(ctx, "mylist", "World") if err != nil { t.Fatal(err) } assert.Equal(t, r1, int64(1)) r2, err := c.OpsForList().LPush(ctx, "mylist", "Hello") if err != nil { t.Fatal(err) } assert.Equal(t, r2, int64(2)) r3, err := c.OpsForList().LLen(ctx, "mylist") if err != nil { t.Fatal(err) } assert.Equal(t, r3, int64(2)) }, Data: ` { "Session": "df3b64266ebe4e63a464e135000a07cd", "Actions": [{ "Protocol": "REDIS", "Request": "LPUSH mylist World", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "LPUSH mylist Hello", "Response": "\"2\"" }, { "Protocol": "REDIS", "Request": "LLEN mylist", "Response": "\"2\"" }] }`, }
View Source
var LMove = Case{ Func: func(t *testing.T, ctx context.Context, c *redis.Client) { r1, err := c.OpsForList().RPush(ctx, "mylist", "one") if err != nil { t.Fatal(err) } assert.Equal(t, r1, int64(1)) r2, err := c.OpsForList().RPush(ctx, "mylist", "two") if err != nil { t.Fatal(err) } assert.Equal(t, r2, int64(2)) r3, err := c.OpsForList().RPush(ctx, "mylist", "three") if err != nil { t.Fatal(err) } assert.Equal(t, r3, int64(3)) r4, err := c.OpsForList().LMove(ctx, "mylist", "myotherlist", "RIGHT", "LEFT") if err != nil { t.Fatal(err) } assert.Equal(t, r4, "three") r5, err := c.OpsForList().LMove(ctx, "mylist", "myotherlist", "LEFT", "RIGHT") if err != nil { t.Fatal(err) } assert.Equal(t, r5, "one") r6, err := c.OpsForList().LRange(ctx, "mylist", 0, -1) if err != nil { t.Fatal(err) } assert.Equal(t, r6, []string{"two"}) r7, err := c.OpsForList().LRange(ctx, "myotherlist", 0, -1) if err != nil { t.Fatal(err) } assert.Equal(t, r7, []string{"three", "one"}) }, Data: ` { "Session": "df3b64266ebe4e63a464e135000a07cd", "Actions": [{ "Protocol": "REDIS", "Request": "RPUSH mylist one", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "RPUSH mylist two", "Response": "\"2\"" }, { "Protocol": "REDIS", "Request": "RPUSH mylist three", "Response": "\"3\"" }, { "Protocol": "REDIS", "Request": "LMOVE mylist myotherlist RIGHT LEFT", "Response": "\"three\"" }, { "Protocol": "REDIS", "Request": "LMOVE mylist myotherlist LEFT RIGHT", "Response": "\"one\"" }, { "Protocol": "REDIS", "Request": "LRANGE mylist 0 -1", "Response": "\"two\"" }, { "Protocol": "REDIS", "Request": "LRANGE myotherlist 0 -1", "Response": "\"three\",\"one\"" }] }`, }
View Source
var LPop = Case{ Func: func(t *testing.T, ctx context.Context, c *redis.Client) { r1, err := c.OpsForList().RPush(ctx, "mylist", "one", "two", "three", "four", "five") if err != nil { t.Fatal(err) } assert.Equal(t, r1, int64(5)) r2, err := c.OpsForList().LPop(ctx, "mylist") if err != nil { t.Fatal(err) } assert.Equal(t, r2, "one") r3, err := c.OpsForList().LPopN(ctx, "mylist", 2) if err != nil { t.Fatal(err) } assert.Equal(t, r3, []string{"two", "three"}) r4, err := c.OpsForList().LRange(ctx, "mylist", 0, -1) if err != nil { t.Fatal(err) } assert.Equal(t, r4, []string{"four", "five"}) }, Data: ` { "Session": "df3b64266ebe4e63a464e135000a07cd", "Actions": [{ "Protocol": "REDIS", "Request": "RPUSH mylist one two three four five", "Response": "\"5\"" }, { "Protocol": "REDIS", "Request": "LPOP mylist", "Response": "\"one\"" }, { "Protocol": "REDIS", "Request": "LPOP mylist 2", "Response": "\"two\",\"three\"" }, { "Protocol": "REDIS", "Request": "LRANGE mylist 0 -1", "Response": "\"four\",\"five\"" }] }`, }
View Source
var LPos = Case{ Func: func(t *testing.T, ctx context.Context, c *redis.Client) { r1, err := c.OpsForList().RPush(ctx, "mylist", 'a', 'b', 'c', 'd', 1, 2, 3, 4, 3, 3, 3) if err != nil { t.Fatal(err) } assert.Equal(t, r1, int64(11)) r2, err := c.OpsForList().LPos(ctx, "mylist", 3) if err != nil { return } assert.Equal(t, r2, int64(6)) r3, err := c.OpsForList().LPosN(ctx, "mylist", "3", 0, "RANK", 2) if err != nil { t.Fatal(err) } assert.Equal(t, r3, []int64{8, 9, 10}) }, Data: ` { "Session": "df3b64266ebe4e63a464e135000a07cd", "Actions": [{ "Protocol": "REDIS", "Request": "RPUSH mylist 97 98 99 100 1 2 3 4 3 3 3", "Response": "\"11\"" }, { "Protocol": "REDIS", "Request": "LPOS mylist 3", "Response": "\"6\"" }, { "Protocol": "REDIS", "Request": "LPOS mylist 3 COUNT 0 RANK 2", "Response": "\"8\",\"9\",\"10\"" }] }`, }
View Source
var LPush = Case{ Func: func(t *testing.T, ctx context.Context, c *redis.Client) { r1, err := c.OpsForList().LPush(ctx, "mylist", "world") if err != nil { t.Fatal(err) } assert.Equal(t, r1, int64(1)) r2, err := c.OpsForList().LPush(ctx, "mylist", "hello") if err != nil { t.Fatal(err) } assert.Equal(t, r2, int64(2)) r3, err := c.OpsForList().LRange(ctx, "mylist", 0, -1) if err != nil { t.Fatal(err) } assert.Equal(t, r3, []string{"hello", "world"}) }, Data: ` { "Session": "df3b64266ebe4e63a464e135000a07cd", "Actions": [{ "Protocol": "REDIS", "Request": "LPUSH mylist world", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "LPUSH mylist hello", "Response": "\"2\"" }, { "Protocol": "REDIS", "Request": "LRANGE mylist 0 -1", "Response": "\"hello\",\"world\"" }] }`, }
View Source
var LPushX = Case{ Func: func(t *testing.T, ctx context.Context, c *redis.Client) { r1, err := c.OpsForList().LPush(ctx, "mylist", "World") if err != nil { t.Fatal(err) } assert.Equal(t, r1, int64(1)) r2, err := c.OpsForList().LPushX(ctx, "mylist", "Hello") if err != nil { t.Fatal(err) } assert.Equal(t, r2, int64(2)) r3, err := c.OpsForList().LPushX(ctx, "myotherlist", "Hello") if err != nil { t.Fatal(err) } assert.Equal(t, r3, int64(0)) r4, err := c.OpsForList().LRange(ctx, "mylist", 0, -1) if err != nil { t.Fatal(err) } assert.Equal(t, r4, []string{"Hello", "World"}) r5, err := c.OpsForList().LRange(ctx, "myotherlist", 0, -1) if err != nil { t.Fatal(err) } assert.Equal(t, r5, []string{}) }, Data: ` { "Session": "df3b64266ebe4e63a464e135000a07cd", "Actions": [{ "Protocol": "REDIS", "Request": "LPUSH mylist World", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "LPUSHX mylist Hello", "Response": "\"2\"" }, { "Protocol": "REDIS", "Request": "LPUSHX myotherlist Hello", "Response": "\"0\"" }, { "Protocol": "REDIS", "Request": "LRANGE mylist 0 -1", "Response": "\"Hello\",\"World\"" }, { "Protocol": "REDIS", "Request": "LRANGE myotherlist 0 -1", "Response": "" }] }`, }
View Source
var LRange = Case{ Func: func(t *testing.T, ctx context.Context, c *redis.Client) { r1, err := c.OpsForList().RPush(ctx, "mylist", "one") if err != nil { t.Fatal(err) } assert.Equal(t, r1, int64(1)) r2, err := c.OpsForList().RPush(ctx, "mylist", "two") if err != nil { t.Fatal(err) } assert.Equal(t, r2, int64(2)) r3, err := c.OpsForList().RPush(ctx, "mylist", "three") if err != nil { t.Fatal(err) } assert.Equal(t, r3, int64(3)) r4, err := c.OpsForList().LRange(ctx, "mylist", 0, 0) if err != nil { t.Fatal(err) } assert.Equal(t, r4, []string{"one"}) r5, err := c.OpsForList().LRange(ctx, "mylist", -3, 2) if err != nil { t.Fatal(err) } assert.Equal(t, r5, []string{"one", "two", "three"}) r6, err := c.OpsForList().LRange(ctx, "mylist", -100, 100) if err != nil { t.Fatal(err) } assert.Equal(t, r6, []string{"one", "two", "three"}) r7, err := c.OpsForList().LRange(ctx, "mylist", 5, 10) if err != nil { t.Fatal(err) } assert.Equal(t, r7, []string{}) }, Data: ` { "Session": "df3b64266ebe4e63a464e135000a07cd", "Actions": [{ "Protocol": "REDIS", "Request": "RPUSH mylist one", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "RPUSH mylist two", "Response": "\"2\"" }, { "Protocol": "REDIS", "Request": "RPUSH mylist three", "Response": "\"3\"" }, { "Protocol": "REDIS", "Request": "LRANGE mylist 0 0", "Response": "\"one\"" }, { "Protocol": "REDIS", "Request": "LRANGE mylist -3 2", "Response": "\"one\",\"two\",\"three\"" }, { "Protocol": "REDIS", "Request": "LRANGE mylist -100 100", "Response": "\"one\",\"two\",\"three\"" }, { "Protocol": "REDIS", "Request": "LRANGE mylist 5 10", "Response": "" }] }`, }
View Source
var LRem = Case{ Func: func(t *testing.T, ctx context.Context, c *redis.Client) { r1, err := c.OpsForList().RPush(ctx, "mylist", "hello") if err != nil { t.Fatal(err) } assert.Equal(t, r1, int64(1)) r2, err := c.OpsForList().RPush(ctx, "mylist", "hello") if err != nil { t.Fatal(err) } assert.Equal(t, r2, int64(2)) r3, err := c.OpsForList().RPush(ctx, "mylist", "foo") if err != nil { t.Fatal(err) } assert.Equal(t, r3, int64(3)) r4, err := c.OpsForList().RPush(ctx, "mylist", "hello") if err != nil { t.Fatal(err) } assert.Equal(t, r4, int64(4)) r5, err := c.OpsForList().LRem(ctx, "mylist", -2, "hello") if err != nil { t.Fatal(err) } assert.Equal(t, r5, int64(2)) r6, err := c.OpsForList().LRange(ctx, "mylist", 0, -1) if err != nil { t.Fatal(err) } assert.Equal(t, r6, []string{"hello", "foo"}) }, Data: ` { "Session": "df3b64266ebe4e63a464e135000a07cd", "Actions": [{ "Protocol": "REDIS", "Request": "RPUSH mylist hello", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "RPUSH mylist hello", "Response": "\"2\"" }, { "Protocol": "REDIS", "Request": "RPUSH mylist foo", "Response": "\"3\"" }, { "Protocol": "REDIS", "Request": "RPUSH mylist hello", "Response": "\"4\"" }, { "Protocol": "REDIS", "Request": "LREM mylist -2 hello", "Response": "\"2\"" }, { "Protocol": "REDIS", "Request": "LRANGE mylist 0 -1", "Response": "\"hello\",\"foo\"" }] }`, }
View Source
var LSet = Case{ Func: func(t *testing.T, ctx context.Context, c *redis.Client) { r1, err := c.OpsForList().RPush(ctx, "mylist", "one") if err != nil { t.Fatal(err) } assert.Equal(t, r1, int64(1)) r2, err := c.OpsForList().RPush(ctx, "mylist", "two") if err != nil { t.Fatal(err) } assert.Equal(t, r2, int64(2)) r3, err := c.OpsForList().RPush(ctx, "mylist", "three") if err != nil { t.Fatal(err) } assert.Equal(t, r3, int64(3)) r4, err := c.OpsForList().LSet(ctx, "mylist", 0, "four") if err != nil { t.Fatal(err) } assert.True(t, redis.IsOK(r4)) r5, err := c.OpsForList().LSet(ctx, "mylist", -2, "five") if err != nil { t.Fatal(err) } assert.True(t, redis.IsOK(r5)) r6, err := c.OpsForList().LRange(ctx, "mylist", 0, -1) if err != nil { t.Fatal(err) } assert.Equal(t, r6, []string{"four", "five", "three"}) }, Data: ` { "Session": "df3b64266ebe4e63a464e135000a07cd", "Actions": [{ "Protocol": "REDIS", "Request": "RPUSH mylist one", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "RPUSH mylist two", "Response": "\"2\"" }, { "Protocol": "REDIS", "Request": "RPUSH mylist three", "Response": "\"3\"" }, { "Protocol": "REDIS", "Request": "LSET mylist 0 four", "Response": "\"OK\"" }, { "Protocol": "REDIS", "Request": "LSET mylist -2 five", "Response": "\"OK\"" }, { "Protocol": "REDIS", "Request": "LRANGE mylist 0 -1", "Response": "\"four\",\"five\",\"three\"" }] }`, }
View Source
var LTrim = Case{ Func: func(t *testing.T, ctx context.Context, c *redis.Client) { r1, err := c.OpsForList().RPush(ctx, "mylist", "one") if err != nil { t.Fatal(err) } assert.Equal(t, r1, int64(1)) r2, err := c.OpsForList().RPush(ctx, "mylist", "two") if err != nil { t.Fatal(err) } assert.Equal(t, r2, int64(2)) r3, err := c.OpsForList().RPush(ctx, "mylist", "three") if err != nil { t.Fatal(err) } assert.Equal(t, r3, int64(3)) r4, err := c.OpsForList().LTrim(ctx, "mylist", 1, -1) if err != nil { t.Fatal(err) } assert.True(t, redis.IsOK(r4)) r5, err := c.OpsForList().LRange(ctx, "mylist", 0, -1) if err != nil { t.Fatal(err) } assert.Equal(t, r5, []string{"two", "three"}) }, Data: ` { "Session": "df3b64266ebe4e63a464e135000a07cd", "Actions": [{ "Protocol": "REDIS", "Request": "RPUSH mylist one", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "RPUSH mylist two", "Response": "\"2\"" }, { "Protocol": "REDIS", "Request": "RPUSH mylist three", "Response": "\"3\"" }, { "Protocol": "REDIS", "Request": "LTRIM mylist 1 -1", "Response": "\"OK\"" }, { "Protocol": "REDIS", "Request": "LRANGE mylist 0 -1", "Response": "\"two\",\"three\"" }] }`, }
View Source
var MGet = Case{ Func: func(t *testing.T, ctx context.Context, c *redis.Client) { r1, err := c.OpsForString().Set(ctx, "key1", "Hello") if err != nil { t.Fatal(err) } assert.True(t, redis.IsOK(r1)) r2, err := c.OpsForString().Set(ctx, "key2", "World") if err != nil { t.Fatal(err) } assert.True(t, redis.IsOK(r2)) r3, err := c.OpsForString().MGet(ctx, "key1", "key2", "nonexisting") if err != nil { t.Fatal(err) } assert.Equal(t, r3, []interface{}{"Hello", "World", nil}) }, Data: ` { "Session": "df3b64266ebe4e63a464e135000a07cd", "Actions": [{ "Protocol": "REDIS", "Request": "SET key1 Hello", "Response": "\"OK\"" }, { "Protocol": "REDIS", "Request": "SET key2 World", "Response": "\"OK\"" }, { "Protocol": "REDIS", "Request": "MGET key1 key2 nonexisting", "Response": "\"Hello\",\"World\",NULL" }] }`, }
View Source
var MSet = Case{ Func: func(t *testing.T, ctx context.Context, c *redis.Client) { r1, err := c.OpsForString().MSet(ctx, "key1", "Hello", "key2", "World") if err != nil { t.Fatal(err) } assert.True(t, redis.IsOK(r1)) r2, err := c.OpsForString().Get(ctx, "key1") if err != nil { t.Fatal(err) } assert.Equal(t, r2, "Hello") r3, err := c.OpsForString().Get(ctx, "key2") if err != nil { t.Fatal(err) } assert.Equal(t, r3, "World") }, Data: ` { "Session": "df3b64266ebe4e63a464e135000a07cd", "Actions": [{ "Protocol": "REDIS", "Request": "MSET key1 Hello key2 World", "Response": "\"OK\"" }, { "Protocol": "REDIS", "Request": "GET key1", "Response": "\"Hello\"" }, { "Protocol": "REDIS", "Request": "GET key2", "Response": "\"World\"" }] }`, }
View Source
var MSetNX = Case{ Func: func(t *testing.T, ctx context.Context, c *redis.Client) { r1, err := c.OpsForString().MSetNX(ctx, "key1", "Hello", "key2", "there") if err != nil { t.Fatal(err) } assert.Equal(t, r1, int64(1)) r2, err := c.OpsForString().MSetNX(ctx, "key2", "new", "key3", "world") if err != nil { t.Fatal(err) } assert.Equal(t, r2, int64(0)) r3, err := c.OpsForString().MGet(ctx, "key1", "key2", "key3") if err != nil { t.Fatal(err) } assert.Equal(t, r3, []interface{}{"Hello", "there", nil}) }, Data: ` { "Session": "df3b64266ebe4e63a464e135000a07cd", "Actions": [{ "Protocol": "REDIS", "Request": "MSETNX key1 Hello key2 there", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "MSETNX key2 new key3 world", "Response": "\"0\"" }, { "Protocol": "REDIS", "Request": "MGET key1 key2 key3", "Response": "\"Hello\",\"there\",NULL" }] }`, }
View Source
var PExpire = Case{ Func: func(t *testing.T, ctx context.Context, c *redis.Client) { r1, err := c.OpsForString().Set(ctx, "mykey", "Hello") if err != nil { t.Fatal(err) } assert.True(t, redis.IsOK(r1)) r2, err := c.OpsForKey().PExpire(ctx, "mykey", 1500) if err != nil { t.Fatal(err) } assert.Equal(t, r2, int64(1)) r3, err := c.OpsForKey().TTL(ctx, "mykey") if err != nil { t.Fatal(err) } assert.True(t, r3 >= 1 && r3 <= 2) r4, err := c.OpsForKey().PTTL(ctx, "mykey") if err != nil { t.Fatal(err) } assert.True(t, r4 >= 1400 && r4 <= 1500) }, Data: ` { "Session": "df3b64266ebe4e63a464e135000a07cd", "Actions": [{ "Protocol": "REDIS", "Request": "SET mykey Hello", "Response": "\"OK\"" }, { "Protocol": "REDIS", "Request": "PEXPIRE mykey 1500", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "TTL mykey", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "PTTL mykey", "Response": "\"1499\"" }] }`, }
View Source
var PExpireAt = Case{ Func: func(t *testing.T, ctx context.Context, c *redis.Client) { r1, err := c.OpsForString().Set(ctx, "mykey", "Hello") if err != nil { t.Fatal(err) } assert.True(t, redis.IsOK(r1)) r2, err := c.OpsForKey().PExpireAt(ctx, "mykey", 1555555555005) if err != nil { t.Fatal(err) } assert.Equal(t, r2, int64(1)) r3, err := c.OpsForKey().TTL(ctx, "mykey") if err != nil { t.Fatal(err) } assert.Equal(t, r3, int64(-2)) r4, err := c.OpsForKey().PTTL(ctx, "mykey") if err != nil { t.Fatal(err) } assert.Equal(t, r4, int64(-2)) }, Data: ` { "Session": "df3b64266ebe4e63a464e135000a07cd", "Actions": [{ "Protocol": "REDIS", "Request": "SET mykey Hello", "Response": "\"OK\"" }, { "Protocol": "REDIS", "Request": "PEXPIREAT mykey 1555555555005", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "TTL mykey", "Response": "\"-2\"" }, { "Protocol": "REDIS", "Request": "PTTL mykey", "Response": "\"-2\"" }] }`, }
View Source
var PSetEX = Case{ Func: func(t *testing.T, ctx context.Context, c *redis.Client) { r1, err := c.OpsForString().PSetEX(ctx, "mykey", "Hello", 1000) if err != nil { t.Fatal(err) } assert.True(t, redis.IsOK(r1)) r2, err := c.OpsForKey().PTTL(ctx, "mykey") if err != nil { t.Fatal(err) } assert.True(t, r2 <= 1000 && r2 >= 900) r3, err := c.OpsForString().Get(ctx, "mykey") if err != nil { t.Fatal(err) } assert.Equal(t, r3, "Hello") }, Data: ` { "Session": "df3b64266ebe4e63a464e135000a07cd", "Actions": [{ "Protocol": "REDIS", "Request": "PSETEX mykey 1000 Hello", "Response": "\"OK\"" }, { "Protocol": "REDIS", "Request": "PTTL mykey", "Response": "\"1000\"" }, { "Protocol": "REDIS", "Request": "GET mykey", "Response": "\"Hello\"" }] }`, }
View Source
var PTTL = Case{ Func: func(t *testing.T, ctx context.Context, c *redis.Client) { r1, err := c.OpsForString().Set(ctx, "mykey", "Hello") if err != nil { t.Fatal(err) } assert.True(t, redis.IsOK(r1)) r2, err := c.OpsForKey().Expire(ctx, "mykey", 1) if err != nil { t.Fatal(err) } assert.Equal(t, r2, int64(1)) r3, err := c.OpsForKey().PTTL(ctx, "mykey") if err != nil { t.Fatal(err) } assert.True(t, r3 >= 990 && r3 <= 1000) }, Data: ` { "Session": "df3b64266ebe4e63a464e135000a07cd", "Actions": [{ "Protocol": "REDIS", "Request": "SET mykey Hello", "Response": "\"OK\"" }, { "Protocol": "REDIS", "Request": "EXPIRE mykey 1", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "PTTL mykey", "Response": "\"1000\"" }] }`, }
View Source
var Persist = Case{ Func: func(t *testing.T, ctx context.Context, c *redis.Client) { r1, err := c.OpsForString().Set(ctx, "mykey", "Hello") if err != nil { t.Fatal(err) } assert.True(t, redis.IsOK(r1)) r2, err := c.OpsForKey().Expire(ctx, "mykey", 10) if err != nil { t.Fatal(err) } assert.Equal(t, r2, int64(1)) r3, err := c.OpsForKey().TTL(ctx, "mykey") if err != nil { t.Fatal(err) } assert.Equal(t, r3, int64(10)) r4, err := c.OpsForKey().Persist(ctx, "mykey") if err != nil { t.Fatal(err) } assert.Equal(t, r4, int64(1)) r5, err := c.OpsForKey().TTL(ctx, "mykey") if err != nil { t.Fatal(err) } assert.Equal(t, r5, int64(-1)) }, Data: ` { "Session": "df3b64266ebe4e63a464e135000a07cd", "Actions": [{ "Protocol": "REDIS", "Request": "SET mykey Hello", "Response": "\"OK\"" }, { "Protocol": "REDIS", "Request": "EXPIRE mykey 10", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "TTL mykey", "Response": "\"10\"" }, { "Protocol": "REDIS", "Request": "PERSIST mykey", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "TTL mykey", "Response": "\"-1\"" }] }`, }
View Source
var RPop = Case{ Func: func(t *testing.T, ctx context.Context, c *redis.Client) { r1, err := c.OpsForList().RPush(ctx, "mylist", "one", "two", "three", "four", "five") if err != nil { t.Fatal(err) } assert.Equal(t, r1, int64(5)) r2, err := c.OpsForList().RPop(ctx, "mylist") if err != nil { t.Fatal(err) } assert.Equal(t, r2, "five") r3, err := c.OpsForList().RPopN(ctx, "mylist", 2) if err != nil { t.Fatal(err) } assert.Equal(t, r3, []string{"four", "three"}) r4, err := c.OpsForList().LRange(ctx, "mylist", 0, -1) if err != nil { t.Fatal(err) } assert.Equal(t, r4, []string{"one", "two"}) }, Data: ` { "Session": "df3b64266ebe4e63a464e135000a07cd", "Actions": [{ "Protocol": "REDIS", "Request": "RPUSH mylist one two three four five", "Response": "\"5\"" }, { "Protocol": "REDIS", "Request": "RPOP mylist", "Response": "\"five\"" }, { "Protocol": "REDIS", "Request": "RPOP mylist 2", "Response": "\"four\",\"three\"" }, { "Protocol": "REDIS", "Request": "LRANGE mylist 0 -1", "Response": "\"one\",\"two\"" }] }`, }
View Source
var RPopLPush = Case{ Func: func(t *testing.T, ctx context.Context, c *redis.Client) { r1, err := c.OpsForList().RPush(ctx, "mylist", "one") if err != nil { t.Fatal(err) } assert.Equal(t, r1, int64(1)) r2, err := c.OpsForList().RPush(ctx, "mylist", "two") if err != nil { t.Fatal(err) } assert.Equal(t, r2, int64(2)) r3, err := c.OpsForList().RPush(ctx, "mylist", "three") if err != nil { t.Fatal(err) } assert.Equal(t, r3, int64(3)) r4, err := c.OpsForList().RPopLPush(ctx, "mylist", "myotherlist") if err != nil { t.Fatal(err) } assert.Equal(t, r4, "three") r5, err := c.OpsForList().LRange(ctx, "mylist", 0, -1) if err != nil { t.Fatal(err) } assert.Equal(t, r5, []string{"one", "two"}) r6, err := c.OpsForList().LRange(ctx, "myotherlist", 0, -1) if err != nil { t.Fatal(err) } assert.Equal(t, r6, []string{"three"}) }, Data: ` { "Session": "df3b64266ebe4e63a464e135000a07cd", "Actions": [{ "Protocol": "REDIS", "Request": "RPUSH mylist one", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "RPUSH mylist two", "Response": "\"2\"" }, { "Protocol": "REDIS", "Request": "RPUSH mylist three", "Response": "\"3\"" }, { "Protocol": "REDIS", "Request": "RPOPLPUSH mylist myotherlist", "Response": "\"three\"" }, { "Protocol": "REDIS", "Request": "LRANGE mylist 0 -1", "Response": "\"one\",\"two\"" }, { "Protocol": "REDIS", "Request": "LRANGE myotherlist 0 -1", "Response": "\"three\"" }] }`, }
View Source
var RPush = Case{ Func: func(t *testing.T, ctx context.Context, c *redis.Client) { r1, err := c.OpsForList().RPush(ctx, "mylist", "hello") if err != nil { t.Fatal(err) } assert.Equal(t, r1, int64(1)) r2, err := c.OpsForList().RPush(ctx, "mylist", "world") if err != nil { t.Fatal(err) } assert.Equal(t, r2, int64(2)) r3, err := c.OpsForList().LRange(ctx, "mylist", 0, -1) if err != nil { t.Fatal(err) } assert.Equal(t, r3, []string{"hello", "world"}) }, Data: ` { "Session": "df3b64266ebe4e63a464e135000a07cd", "Actions": [{ "Protocol": "REDIS", "Request": "RPUSH mylist hello", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "RPUSH mylist world", "Response": "\"2\"" }, { "Protocol": "REDIS", "Request": "LRANGE mylist 0 -1", "Response": "\"hello\",\"world\"" }] }`, }
View Source
var RPushX = Case{ Func: func(t *testing.T, ctx context.Context, c *redis.Client) { r1, err := c.OpsForList().RPush(ctx, "mylist", "Hello") if err != nil { t.Fatal(err) } assert.Equal(t, r1, int64(1)) r2, err := c.OpsForList().RPushX(ctx, "mylist", "World") if err != nil { t.Fatal(err) } assert.Equal(t, r2, int64(2)) r3, err := c.OpsForList().RPushX(ctx, "myotherlist", "World") if err != nil { t.Fatal(err) } assert.Equal(t, r3, int64(0)) r4, err := c.OpsForList().LRange(ctx, "mylist", 0, -1) if err != nil { t.Fatal(err) } assert.Equal(t, r4, []string{"Hello", "World"}) r5, err := c.OpsForList().LRange(ctx, "myotherlist", 0, -1) if err != nil { t.Fatal(err) } assert.Equal(t, r5, []string{}) }, Data: ` { "Session": "df3b64266ebe4e63a464e135000a07cd", "Actions": [{ "Protocol": "REDIS", "Request": "RPUSH mylist Hello", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "RPUSHX mylist World", "Response": "\"2\"" }, { "Protocol": "REDIS", "Request": "RPUSHX myotherlist World", "Response": "\"0\"" }, { "Protocol": "REDIS", "Request": "LRANGE mylist 0 -1", "Response": "\"Hello\",\"World\"" }, { "Protocol": "REDIS", "Request": "LRANGE myotherlist 0 -1", "Response": "" }] }`, }
View Source
var Rename = Case{ Func: func(t *testing.T, ctx context.Context, c *redis.Client) { r1, err := c.OpsForString().Set(ctx, "mykey", "Hello") if err != nil { t.Fatal(err) } assert.True(t, redis.IsOK(r1)) r2, err := c.OpsForKey().Rename(ctx, "mykey", "myotherkey") if err != nil { t.Fatal(err) } assert.True(t, redis.IsOK(r2)) r3, err := c.OpsForString().Get(ctx, "myotherkey") if err != nil { t.Fatal(err) } assert.Equal(t, r3, "Hello") }, Data: ` { "Session": "df3b64266ebe4e63a464e135000a07cd", "Actions": [{ "Protocol": "REDIS", "Request": "SET mykey Hello", "Response": "\"OK\"" }, { "Protocol": "REDIS", "Request": "RENAME mykey myotherkey", "Response": "\"OK\"" }, { "Protocol": "REDIS", "Request": "GET myotherkey", "Response": "\"Hello\"" }] }`, }
View Source
var RenameNX = Case{ Func: func(t *testing.T, ctx context.Context, c *redis.Client) { r1, err := c.OpsForString().Set(ctx, "mykey", "Hello") if err != nil { t.Fatal(err) } assert.True(t, redis.IsOK(r1)) r2, err := c.OpsForString().Set(ctx, "myotherkey", "World") if err != nil { t.Fatal(err) } assert.True(t, redis.IsOK(r2)) r3, err := c.OpsForKey().RenameNX(ctx, "mykey", "myotherkey") if err != nil { t.Fatal(err) } assert.Equal(t, r3, int64(0)) r4, err := c.OpsForString().Get(ctx, "myotherkey") if err != nil { t.Fatal(err) } assert.Equal(t, r4, "World") }, Data: ` { "Session": "df3b64266ebe4e63a464e135000a07cd", "Actions": [{ "Protocol": "REDIS", "Request": "SET mykey Hello", "Response": "\"OK\"" }, { "Protocol": "REDIS", "Request": "SET myotherkey World", "Response": "\"OK\"" }, { "Protocol": "REDIS", "Request": "RENAMENX mykey myotherkey", "Response": "\"0\"" }, { "Protocol": "REDIS", "Request": "GET myotherkey", "Response": "\"World\"" }] }`, }
View Source
var SAdd = Case{ Func: func(t *testing.T, ctx context.Context, c *redis.Client) { r1, err := c.OpsForSet().SAdd(ctx, "myset", "Hello") if err != nil { t.Fatal(err) } assert.Equal(t, r1, int64(1)) r2, err := c.OpsForSet().SAdd(ctx, "myset", "World") if err != nil { t.Fatal(err) } assert.Equal(t, r2, int64(1)) r3, err := c.OpsForSet().SAdd(ctx, "myset", "World") if err != nil { t.Fatal(err) } assert.Equal(t, r3, int64(0)) r4, err := c.OpsForSet().SMembers(ctx, "myset") if err != nil { t.Fatal(err) } sort.Strings(r4) assert.Equal(t, r4, []string{"Hello", "World"}) }, Skip: true, Data: ` { "Session": "df3b64266ebe4e63a464e135000a07cd", "Actions": [{ "Protocol": "REDIS", "Request": "SADD myset Hello", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "SADD myset World", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "SADD myset World", "Response": "\"0\"" }, { "Protocol": "REDIS", "Request": "SMEMBERS myset", "Response": "\"Hello\",\"World\"" }] }`, }
View Source
var SCard = Case{ Func: func(t *testing.T, ctx context.Context, c *redis.Client) { r1, err := c.OpsForSet().SAdd(ctx, "myset", "Hello") if err != nil { t.Fatal(err) } assert.Equal(t, r1, int64(1)) r2, err := c.OpsForSet().SAdd(ctx, "myset", "World") if err != nil { t.Fatal(err) } assert.Equal(t, r2, int64(1)) r3, err := c.OpsForSet().SCard(ctx, "myset") if err != nil { t.Fatal(err) } assert.Equal(t, r3, int64(2)) }, Data: ` { "Session": "df3b64266ebe4e63a464e135000a07cd", "Actions": [{ "Protocol": "REDIS", "Request": "SADD myset Hello", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "SADD myset World", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "SCARD myset", "Response": "\"2\"" }] }`, }
View Source
var SDiff = Case{ Func: func(t *testing.T, ctx context.Context, c *redis.Client) { r1, err := c.OpsForSet().SAdd(ctx, "key1", "a") if err != nil { t.Fatal(err) } assert.Equal(t, r1, int64(1)) r2, err := c.OpsForSet().SAdd(ctx, "key1", "b") if err != nil { t.Fatal(err) } assert.Equal(t, r2, int64(1)) r3, err := c.OpsForSet().SAdd(ctx, "key1", "c") if err != nil { t.Fatal(err) } assert.Equal(t, r3, int64(1)) r4, err := c.OpsForSet().SAdd(ctx, "key2", "c") if err != nil { t.Fatal(err) } assert.Equal(t, r4, int64(1)) r5, err := c.OpsForSet().SAdd(ctx, "key2", "d") if err != nil { t.Fatal(err) } assert.Equal(t, r5, int64(1)) r6, err := c.OpsForSet().SAdd(ctx, "key2", "e") if err != nil { t.Fatal(err) } assert.Equal(t, r6, int64(1)) r7, err := c.OpsForSet().SDiff(ctx, "key1", "key2") if err != nil { t.Fatal(err) } sort.Strings(r7) assert.Equal(t, r7, []string{"a", "b"}) }, Skip: true, Data: ` { "Session": "df3b64266ebe4e63a464e135000a07cd", "Actions": [{ "Protocol": "REDIS", "Request": "SADD key1 a", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "SADD key1 b", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "SADD key1 c", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "SADD key2 c", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "SADD key2 d", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "SADD key2 e", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "SDIFF key1 key2", "Response": "\"a\",\"b\"" }] }`, }
View Source
var SDiffStore = Case{ Func: func(t *testing.T, ctx context.Context, c *redis.Client) { r1, err := c.OpsForSet().SAdd(ctx, "key1", "a") if err != nil { t.Fatal(err) } assert.Equal(t, r1, int64(1)) r2, err := c.OpsForSet().SAdd(ctx, "key1", "b") if err != nil { t.Fatal(err) } assert.Equal(t, r2, int64(1)) r3, err := c.OpsForSet().SAdd(ctx, "key1", "c") if err != nil { t.Fatal(err) } assert.Equal(t, r3, int64(1)) r4, err := c.OpsForSet().SAdd(ctx, "key2", "c") if err != nil { t.Fatal(err) } assert.Equal(t, r4, int64(1)) r5, err := c.OpsForSet().SAdd(ctx, "key2", "d") if err != nil { t.Fatal(err) } assert.Equal(t, r5, int64(1)) r6, err := c.OpsForSet().SAdd(ctx, "key2", "e") if err != nil { t.Fatal(err) } assert.Equal(t, r6, int64(1)) r7, err := c.OpsForSet().SDiffStore(ctx, "key", "key1", "key2") if err != nil { t.Fatal(err) } assert.Equal(t, r7, int64(2)) r8, err := c.OpsForSet().SMembers(ctx, "key") if err != nil { t.Fatal(err) } sort.Strings(r8) assert.Equal(t, r8, []string{"a", "b"}) }, Skip: true, Data: ` { "Session": "df3b64266ebe4e63a464e135000a07cd", "Actions": [{ "Protocol": "REDIS", "Request": "SADD key1 a", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "SADD key1 b", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "SADD key1 c", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "SADD key2 c", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "SADD key2 d", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "SADD key2 e", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "SDIFFSTORE key key1 key2", "Response": "\"2\"" }, { "Protocol": "REDIS", "Request": "SMEMBERS key", "Response": "\"a\",\"b\"" }] }`, }
View Source
var SInter = Case{ Func: func(t *testing.T, ctx context.Context, c *redis.Client) { r1, err := c.OpsForSet().SAdd(ctx, "key1", "a") if err != nil { t.Fatal(err) } assert.Equal(t, r1, int64(1)) r2, err := c.OpsForSet().SAdd(ctx, "key1", "b") if err != nil { t.Fatal(err) } assert.Equal(t, r2, int64(1)) r3, err := c.OpsForSet().SAdd(ctx, "key1", "c") if err != nil { t.Fatal(err) } assert.Equal(t, r3, int64(1)) r4, err := c.OpsForSet().SAdd(ctx, "key2", "c") if err != nil { t.Fatal(err) } assert.Equal(t, r4, int64(1)) r5, err := c.OpsForSet().SAdd(ctx, "key2", "d") if err != nil { t.Fatal(err) } assert.Equal(t, r5, int64(1)) r6, err := c.OpsForSet().SAdd(ctx, "key2", "e") if err != nil { t.Fatal(err) } assert.Equal(t, r6, int64(1)) r7, err := c.OpsForSet().SInter(ctx, "key1", "key2") if err != nil { t.Fatal(err) } assert.Equal(t, r7, []string{"c"}) }, Data: ` { "Session": "df3b64266ebe4e63a464e135000a07cd", "Actions": [{ "Protocol": "REDIS", "Request": "SADD key1 a", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "SADD key1 b", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "SADD key1 c", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "SADD key2 c", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "SADD key2 d", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "SADD key2 e", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "SINTER key1 key2", "Response": "\"c\"" }] }`, }
View Source
var SInterStore = Case{ Func: func(t *testing.T, ctx context.Context, c *redis.Client) { r1, err := c.OpsForSet().SAdd(ctx, "key1", "a") if err != nil { t.Fatal(err) } assert.Equal(t, r1, int64(1)) r2, err := c.OpsForSet().SAdd(ctx, "key1", "b") if err != nil { t.Fatal(err) } assert.Equal(t, r2, int64(1)) r3, err := c.OpsForSet().SAdd(ctx, "key1", "c") if err != nil { t.Fatal(err) } assert.Equal(t, r3, int64(1)) r4, err := c.OpsForSet().SAdd(ctx, "key2", "c") if err != nil { t.Fatal(err) } assert.Equal(t, r4, int64(1)) r5, err := c.OpsForSet().SAdd(ctx, "key2", "d") if err != nil { t.Fatal(err) } assert.Equal(t, r5, int64(1)) r6, err := c.OpsForSet().SAdd(ctx, "key2", "e") if err != nil { t.Fatal(err) } assert.Equal(t, r6, int64(1)) r7, err := c.OpsForSet().SInterStore(ctx, "key", "key1", "key2") if err != nil { t.Fatal(err) } assert.Equal(t, r7, int64(1)) r8, err := c.OpsForSet().SMembers(ctx, "key") if err != nil { t.Fatal(err) } assert.Equal(t, r8, []string{"c"}) }, Data: ` { "Session": "df3b64266ebe4e63a464e135000a07cd", "Actions": [{ "Protocol": "REDIS", "Request": "SADD key1 a", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "SADD key1 b", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "SADD key1 c", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "SADD key2 c", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "SADD key2 d", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "SADD key2 e", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "SINTERSTORE key key1 key2", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "SMEMBERS key", "Response": "\"c\"" }] }`, }
View Source
var SIsMember = Case{ Func: func(t *testing.T, ctx context.Context, c *redis.Client) { r1, err := c.OpsForSet().SAdd(ctx, "myset", "one") if err != nil { t.Fatal(err) } assert.Equal(t, r1, int64(1)) r2, err := c.OpsForSet().SIsMember(ctx, "myset", "one") if err != nil { t.Fatal(err) } assert.Equal(t, r2, int64(1)) r3, err := c.OpsForSet().SIsMember(ctx, "myset", "two") if err != nil { t.Fatal(err) } assert.Equal(t, r3, int64(0)) }, Data: "", }
View Source
var SMIsMember = Case{ Func: func(t *testing.T, ctx context.Context, c *redis.Client) { r1, err := c.OpsForSet().SAdd(ctx, "myset", "one") if err != nil { t.Fatal(err) } assert.Equal(t, r1, int64(1)) r2, err := c.OpsForSet().SAdd(ctx, "myset", "one") if err != nil { t.Fatal(err) } assert.Equal(t, r2, int64(0)) r3, err := c.OpsForSet().SMIsMember(ctx, "myset", "one", "notamember") if err != nil { t.Fatal(err) } assert.Equal(t, r3, []int64{int64(1), int64(0)}) }, Data: ` { "Session": "df3b64266ebe4e63a464e135000a07cd", "Actions": [{ "Protocol": "REDIS", "Request": "SADD myset one", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "SADD myset one", "Response": "\"0\"" }, { "Protocol": "REDIS", "Request": "SMISMEMBER myset one notamember", "Response": "\"1\",\"0\"" }] }`, }
View Source
var SMembers = Case{ Func: func(t *testing.T, ctx context.Context, c *redis.Client) { r1, err := c.OpsForSet().SAdd(ctx, "myset", "Hello") if err != nil { t.Fatal(err) } assert.Equal(t, r1, int64(1)) r2, err := c.OpsForSet().SAdd(ctx, "myset", "World") if err != nil { t.Fatal(err) } assert.Equal(t, r2, int64(1)) r3, err := c.OpsForSet().SMembers(ctx, "myset") if err != nil { t.Fatal(err) } sort.Strings(r3) assert.Equal(t, r3, []string{"Hello", "World"}) }, Skip: true, Data: ` { "Session": "df3b64266ebe4e63a464e135000a07cd", "Actions": [{ "Protocol": "REDIS", "Request": "SADD myset Hello", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "SADD myset World", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "SMEMBERS myset", "Response": "\"Hello\",\"World\"" }] }`, }
View Source
var SMove = Case{ Func: func(t *testing.T, ctx context.Context, c *redis.Client) { r1, err := c.OpsForSet().SAdd(ctx, "myset", "one") if err != nil { t.Fatal(err) } assert.Equal(t, r1, int64(1)) r2, err := c.OpsForSet().SAdd(ctx, "myset", "two") if err != nil { t.Fatal(err) } assert.Equal(t, r2, int64(1)) r3, err := c.OpsForSet().SAdd(ctx, "myotherset", "three") if err != nil { t.Fatal(err) } assert.Equal(t, r3, int64(1)) r4, err := c.OpsForSet().SMove(ctx, "myset", "myotherset", "two") if err != nil { t.Fatal(err) } assert.Equal(t, r4, int64(1)) r5, err := c.OpsForSet().SMembers(ctx, "myset") if err != nil { t.Fatal(err) } assert.Equal(t, r5, []string{"one"}) r6, err := c.OpsForSet().SMembers(ctx, "myotherset") if err != nil { t.Fatal(err) } sort.Strings(r6) assert.Equal(t, r6, []string{"three", "two"}) }, Skip: true, Data: ` { "Session": "df3b64266ebe4e63a464e135000a07cd", "Actions": [{ "Protocol": "REDIS", "Request": "SADD myset one", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "SADD myset two", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "SADD myotherset three", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "SMOVE myset myotherset two", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "SMEMBERS myset", "Response": "\"one\"" }, { "Protocol": "REDIS", "Request": "SMEMBERS myotherset", "Response": "\"two\",\"three\"" }] }`, }
View Source
var SPop = Case{ Func: func(t *testing.T, ctx context.Context, c *redis.Client) { r1, err := c.OpsForSet().SAdd(ctx, "myset", "one") if err != nil { t.Fatal(err) } assert.Equal(t, r1, int64(1)) r2, err := c.OpsForSet().SAdd(ctx, "myset", "two") if err != nil { t.Fatal(err) } assert.Equal(t, r2, int64(1)) r3, err := c.OpsForSet().SAdd(ctx, "myset", "three") if err != nil { t.Fatal(err) } assert.Equal(t, r3, int64(1)) r4, err := c.OpsForSet().SPop(ctx, "myset") if err != nil { t.Fatal(err) } r5, err := c.OpsForSet().SMembers(ctx, "myset") if err != nil { t.Fatal(err) } r6 := append([]string{r4}, r5...) sort.Strings(r6) assert.Equal(t, r6, []string{"one", "three", "two"}) }, Data: ` { "Session": "df3b64266ebe4e63a464e135000a07cd", "Actions": [{ "Protocol": "REDIS", "Request": "SADD myset one", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "SADD myset two", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "SADD myset three", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "SPOP myset", "Response": "\"two\"" }, { "Protocol": "REDIS", "Request": "SMEMBERS myset", "Response": "\"three\",\"one\"" }] }`, }
View Source
var SRandMember = Case{ Func: func(t *testing.T, ctx context.Context, c *redis.Client) { r1, err := c.OpsForSet().SAdd(ctx, "myset", "one", "two", "three") if err != nil { t.Fatal(err) } assert.Equal(t, r1, int64(3)) _, err = c.OpsForSet().SRandMember(ctx, "myset") if err != nil { t.Fatal(err) } r3, err := c.OpsForSet().SRandMemberN(ctx, "myset", 2) if err != nil { t.Fatal(err) } assert.Equal(t, len(r3), 2) r4, err := c.OpsForSet().SRandMemberN(ctx, "myset", -5) if err != nil { t.Fatal(err) } assert.Equal(t, len(r4), 5) }, Data: ` { "Session": "df3b64266ebe4e63a464e135000a07cd", "Actions": [{ "Protocol": "REDIS", "Request": "SADD myset one two three", "Response": "\"3\"" }, { "Protocol": "REDIS", "Request": "SRANDMEMBER myset", "Response": "\"one\"" }, { "Protocol": "REDIS", "Request": "SRANDMEMBER myset 2", "Response": "\"one\",\"three\"" }, { "Protocol": "REDIS", "Request": "SRANDMEMBER myset -5", "Response": "\"one\",\"one\",\"one\",\"two\",\"one\"" }] }`, }
View Source
var SRem = Case{ Func: func(t *testing.T, ctx context.Context, c *redis.Client) { r1, err := c.OpsForSet().SAdd(ctx, "myset", "one") if err != nil { t.Fatal(err) } assert.Equal(t, r1, int64(1)) r2, err := c.OpsForSet().SAdd(ctx, "myset", "two") if err != nil { t.Fatal(err) } assert.Equal(t, r2, int64(1)) r3, err := c.OpsForSet().SAdd(ctx, "myset", "three") if err != nil { t.Fatal(err) } assert.Equal(t, r3, int64(1)) r4, err := c.OpsForSet().SRem(ctx, "myset", "one") if err != nil { t.Fatal(err) } assert.Equal(t, r4, int64(1)) r5, err := c.OpsForSet().SRem(ctx, "myset", "four") if err != nil { t.Fatal(err) } assert.Equal(t, r5, int64(0)) r6, err := c.OpsForSet().SMembers(ctx, "myset") if err != nil { t.Fatal(err) } sort.Strings(r6) assert.Equal(t, r6, []string{"three", "two"}) }, Data: ` { "Session": "df3b64266ebe4e63a464e135000a07cd", "Actions": [{ "Protocol": "REDIS", "Request": "SADD myset one", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "SADD myset two", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "SADD myset three", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "SREM myset one", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "SREM myset four", "Response": "\"0\"" }, { "Protocol": "REDIS", "Request": "SMEMBERS myset", "Response": "\"three\",\"two\"" }] }`, }
View Source
var SUnion = Case{ Func: func(t *testing.T, ctx context.Context, c *redis.Client) { r1, err := c.OpsForSet().SAdd(ctx, "key1", "a") if err != nil { t.Fatal(err) } assert.Equal(t, r1, int64(1)) r2, err := c.OpsForSet().SAdd(ctx, "key1", "b") if err != nil { t.Fatal(err) } assert.Equal(t, r2, int64(1)) r3, err := c.OpsForSet().SAdd(ctx, "key1", "c") if err != nil { t.Fatal(err) } assert.Equal(t, r3, int64(1)) r4, err := c.OpsForSet().SAdd(ctx, "key2", "c") if err != nil { t.Fatal(err) } assert.Equal(t, r4, int64(1)) r5, err := c.OpsForSet().SAdd(ctx, "key2", "d") if err != nil { t.Fatal(err) } assert.Equal(t, r5, int64(1)) r6, err := c.OpsForSet().SAdd(ctx, "key2", "e") if err != nil { t.Fatal(err) } assert.Equal(t, r6, int64(1)) r7, err := c.OpsForSet().SUnion(ctx, "key1", "key2") if err != nil { t.Fatal(err) } sort.Strings(r7) assert.Equal(t, r7, []string{"a", "b", "c", "d", "e"}) }, Skip: true, Data: ` { "Session": "df3b64266ebe4e63a464e135000a07cd", "Actions": [{ "Protocol": "REDIS", "Request": "SADD key1 a", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "SADD key1 b", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "SADD key1 c", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "SADD key2 c", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "SADD key2 d", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "SADD key2 e", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "SUNION key1 key2", "Response": "\"a\",\"b\",\"c\",\"d\",\"e\"" }] }`, }
View Source
var SUnionStore = Case{ Func: func(t *testing.T, ctx context.Context, c *redis.Client) { r1, err := c.OpsForSet().SAdd(ctx, "key1", "a") if err != nil { t.Fatal(err) } assert.Equal(t, r1, int64(1)) r2, err := c.OpsForSet().SAdd(ctx, "key1", "b") if err != nil { t.Fatal(err) } assert.Equal(t, r2, int64(1)) r3, err := c.OpsForSet().SAdd(ctx, "key1", "c") if err != nil { t.Fatal(err) } assert.Equal(t, r3, int64(1)) r4, err := c.OpsForSet().SAdd(ctx, "key2", "c") if err != nil { t.Fatal(err) } assert.Equal(t, r4, int64(1)) r5, err := c.OpsForSet().SAdd(ctx, "key2", "d") if err != nil { t.Fatal(err) } assert.Equal(t, r5, int64(1)) r6, err := c.OpsForSet().SAdd(ctx, "key2", "e") if err != nil { t.Fatal(err) } assert.Equal(t, r6, int64(1)) r7, err := c.OpsForSet().SUnionStore(ctx, "key", "key1", "key2") if err != nil { t.Fatal(err) } assert.Equal(t, r7, int64(5)) r8, err := c.OpsForSet().SMembers(ctx, "key") if err != nil { t.Fatal(err) } sort.Strings(r8) assert.Equal(t, r8, []string{"a", "b", "c", "d", "e"}) }, Skip: true, Data: ` { "Session": "df3b64266ebe4e63a464e135000a07cd", "Actions": [{ "Protocol": "REDIS", "Request": "SADD key1 a", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "SADD key1 b", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "SADD key1 c", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "SADD key2 c", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "SADD key2 d", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "SADD key2 e", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "SUNIONSTORE key key1 key2", "Response": "\"5\"" }, { "Protocol": "REDIS", "Request": "SMEMBERS key", "Response": "\"a\",\"b\",\"c\",\"d\",\"e\"" }] }`, }
View Source
var Set = Case{ Func: func(t *testing.T, ctx context.Context, c *redis.Client) { r1, err := c.OpsForString().Set(ctx, "mykey", "Hello") if err != nil { t.Fatal(err) } assert.True(t, redis.IsOK(r1)) r2, err := c.OpsForString().Get(ctx, "mykey") if err != nil { t.Fatal(err) } assert.Equal(t, r2, "Hello") r3, err := c.OpsForString().SetEX(ctx, "anotherkey", "will expire in a minute", 60) if err != nil { t.Fatal(err) } assert.True(t, redis.IsOK(r3)) }, Data: ` { "Session": "df3b64266ebe4e63a464e135000a07cd", "Actions": [{ "Protocol": "REDIS", "Request": "SET mykey Hello", "Response": "\"OK\"" }, { "Protocol": "REDIS", "Request": "GET mykey", "Response": "\"Hello\"" }, { "Protocol": "REDIS", "Request": "SETEX anotherkey 60 \"will expire in a minute\"", "Response": "\"OK\"" }] }`, }
View Source
var SetBit = Case{ Func: func(t *testing.T, ctx context.Context, c *redis.Client) { r1, err := c.OpsForBitmap().SetBit(ctx, "mykey", 7, 1) if err != nil { t.Fatal(err) } assert.Equal(t, r1, int64(0)) r2, err := c.OpsForBitmap().SetBit(ctx, "mykey", 7, 0) if err != nil { t.Fatal(err) } assert.Equal(t, r2, int64(1)) r3, err := c.OpsForString().Get(ctx, "mykey") if err != nil { t.Fatal(err) } assert.Equal(t, r3, "\u0000") }, Data: ` { "Session": "df3b64266ebe4e63a464e135000a07cd", "Actions": [{ "Protocol": "REDIS", "Request": "SETBIT mykey 7 1", "Response": "\"0\"" }, { "Protocol": "REDIS", "Request": "SETBIT mykey 7 0", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "GET mykey", "Response": "\"\\x00\"" }] }`, }
View Source
var SetEX = Case{ Func: func(t *testing.T, ctx context.Context, c *redis.Client) { r1, err := c.OpsForString().SetEX(ctx, "mykey", "Hello", 10) if err != nil { t.Fatal(err) } assert.True(t, redis.IsOK(r1)) r2, err := c.OpsForKey().TTL(ctx, "mykey") if err != nil { t.Fatal(err) } assert.Equal(t, r2, int64(10)) r3, err := c.OpsForString().Get(ctx, "mykey") if err != nil { t.Fatal(err) } assert.Equal(t, r3, "Hello") }, Data: ` { "Session": "df3b64266ebe4e63a464e135000a07cd", "Actions": [{ "Protocol": "REDIS", "Request": "SETEX mykey 10 Hello", "Response": "\"OK\"" }, { "Protocol": "REDIS", "Request": "TTL mykey", "Response": "\"10\"" }, { "Protocol": "REDIS", "Request": "GET mykey", "Response": "\"Hello\"" }] }`, }
View Source
var SetNX = Case{ Func: func(t *testing.T, ctx context.Context, c *redis.Client) { r1, err := c.OpsForString().SetNX(ctx, "mykey", "Hello") if err != nil { t.Fatal(err) } assert.Equal(t, r1, int64(1)) r2, err := c.OpsForString().SetNX(ctx, "mykey", "World") if err != nil { t.Fatal(err) } assert.Equal(t, r2, int64(0)) r3, err := c.OpsForString().Get(ctx, "mykey") if err != nil { t.Fatal(err) } assert.Equal(t, r3, "Hello") }, Data: ` { "Session": "df3b64266ebe4e63a464e135000a07cd", "Actions": [{ "Protocol": "REDIS", "Request": "SETNX mykey Hello", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "SETNX mykey World", "Response": "\"0\"" }, { "Protocol": "REDIS", "Request": "GET mykey", "Response": "\"Hello\"" }] }`, }
View Source
var SetRange = Case{ Func: func(t *testing.T, ctx context.Context, c *redis.Client) { r1, err := c.OpsForString().Set(ctx, "key1", "Hello World") if err != nil { t.Fatal(err) } assert.True(t, redis.IsOK(r1)) r2, err := c.OpsForString().SetRange(ctx, "key1", 6, "Redis") if err != nil { t.Fatal(err) } assert.Equal(t, r2, int64(11)) r3, err := c.OpsForString().Get(ctx, "key1") if err != nil { t.Fatal(err) } assert.Equal(t, r3, "Hello Redis") r4, err := c.OpsForString().SetRange(ctx, "key2", 6, "Redis") if err != nil { t.Fatal(err) } assert.Equal(t, r4, int64(11)) r5, err := c.OpsForString().Get(ctx, "key2") if err != nil { t.Fatal(err) } assert.Equal(t, r5, "\u0000\u0000\u0000\u0000\u0000\u0000Redis") }, Data: ` { "Session": "df3b64266ebe4e63a464e135000a07cd", "Actions": [{ "Protocol": "REDIS", "Request": "SET key1 \"Hello World\"", "Response": "\"OK\"" }, { "Protocol": "REDIS", "Request": "SETRANGE key1 6 Redis", "Response": "\"11\"" }, { "Protocol": "REDIS", "Request": "GET key1", "Response": "\"Hello Redis\"" }, { "Protocol": "REDIS", "Request": "SETRANGE key2 6 Redis", "Response": "\"11\"" }, { "Protocol": "REDIS", "Request": "GET key2", "Response": "\"\\x00\\x00\\x00\\x00\\x00\\x00Redis\"" }] }`, }
View Source
var StrLen = Case{ Func: func(t *testing.T, ctx context.Context, c *redis.Client) { r1, err := c.OpsForString().Set(ctx, "mykey", "Hello world") if err != nil { t.Fatal(err) } assert.True(t, redis.IsOK(r1)) r2, err := c.OpsForString().StrLen(ctx, "mykey") if err != nil { t.Fatal(err) } assert.Equal(t, r2, int64(11)) r3, err := c.OpsForString().StrLen(ctx, "nonexisting") if err != nil { t.Fatal(err) } assert.Equal(t, r3, int64(0)) }, Data: ` { "Session": "df3b64266ebe4e63a464e135000a07cd", "Actions": [{ "Protocol": "REDIS", "Request": "SET mykey \"Hello world\"", "Response": "\"OK\"" }, { "Protocol": "REDIS", "Request": "STRLEN mykey", "Response": "\"11\"" }, { "Protocol": "REDIS", "Request": "STRLEN nonexisting", "Response": "\"0\"" }] }`, }
View Source
var TTL = Case{ Func: func(t *testing.T, ctx context.Context, c *redis.Client) { r1, err := c.OpsForString().Set(ctx, "mykey", "Hello") if err != nil { t.Fatal(err) } assert.True(t, redis.IsOK(r1)) r2, err := c.OpsForKey().Expire(ctx, "mykey", 10) if err != nil { t.Fatal(err) } assert.Equal(t, r2, int64(1)) r3, err := c.OpsForKey().TTL(ctx, "mykey") if err != nil { t.Fatal(err) } assert.Equal(t, r3, int64(10)) }, Data: ` { "Session": "df3b64266ebe4e63a464e135000a07cd", "Actions": [{ "Protocol": "REDIS", "Request": "SET mykey Hello", "Response": "\"OK\"" }, { "Protocol": "REDIS", "Request": "EXPIRE mykey 10", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "TTL mykey", "Response": "\"10\"" }] }`, }
View Source
var Touch = Case{ Func: func(t *testing.T, ctx context.Context, c *redis.Client) { r1, err := c.OpsForString().Set(ctx, "key1", "Hello") if err != nil { t.Fatal(err) } assert.True(t, redis.IsOK(r1)) r2, err := c.OpsForString().Set(ctx, "key2", "World") if err != nil { t.Fatal(err) } assert.True(t, redis.IsOK(r2)) r3, err := c.OpsForKey().Touch(ctx, "key1", "key2") if err != nil { t.Fatal(err) } assert.Equal(t, r3, int64(2)) }, Data: ` { "Session": "df3b64266ebe4e63a464e135000a07cd", "Actions": [{ "Protocol": "REDIS", "Request": "SET key1 Hello", "Response": "\"OK\"" }, { "Protocol": "REDIS", "Request": "SET key2 World", "Response": "\"OK\"" }, { "Protocol": "REDIS", "Request": "TOUCH key1 key2", "Response": "\"2\"" }] }`, }
View Source
var Type = Case{ Func: func(t *testing.T, ctx context.Context, c *redis.Client) { r1, err := c.OpsForString().Set(ctx, "key1", "value") if err != nil { return } assert.True(t, redis.IsOK(r1)) r2, err := c.OpsForList().LPush(ctx, "key2", "value") if err != nil { return } assert.Equal(t, r2, int64(1)) r3, err := c.OpsForSet().SAdd(ctx, "key3", "value") if err != nil { return } assert.Equal(t, r3, int64(1)) r4, err := c.OpsForKey().Type(ctx, "key1") if err != nil { return } assert.Equal(t, r4, "string") r5, err := c.OpsForKey().Type(ctx, "key2") if err != nil { return } assert.Equal(t, r5, "list") r6, err := c.OpsForKey().Type(ctx, "key3") if err != nil { return } assert.Equal(t, r6, "set") }, Data: ` { "Session": "df3b64266ebe4e63a464e135000a07cd", "Actions": [{ "Protocol": "REDIS", "Request": "SET key1 value", "Response": "\"OK\"" }, { "Protocol": "REDIS", "Request": "LPUSH key2 value", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "SADD key3 value", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "TYPE key1", "Response": "\"string\"" }, { "Protocol": "REDIS", "Request": "TYPE key2", "Response": "\"list\"" }, { "Protocol": "REDIS", "Request": "TYPE key3", "Response": "\"set\"" }] }`, }
View Source
var ZAdd = Case{ Func: func(t *testing.T, ctx context.Context, c *redis.Client) { r1, err := c.OpsForZSet().ZAdd(ctx, "myzset", 1, "one") if err != nil { t.Fatal(err) } assert.Equal(t, r1, int64(1)) r2, err := c.OpsForZSet().ZAdd(ctx, "myzset", 1, "uno") if err != nil { t.Fatal(err) } assert.Equal(t, r2, int64(1)) r3, err := c.OpsForZSet().ZAdd(ctx, "myzset", 2, "two", 3, "three") if err != nil { t.Fatal(err) } assert.Equal(t, r3, int64(2)) r4, err := c.OpsForZSet().ZRangeWithScores(ctx, "myzset", 0, -1) if err != nil { t.Fatal(err) } assert.Equal(t, r4, []redis.ZItem{{"one", 1}, {"uno", 1}, {"two", 2}, {"three", 3}}) }, Data: ` { "Session": "df3b64266ebe4e63a464e135000a07cd", "Actions": [{ "Protocol": "REDIS", "Request": "ZADD myzset 1 one", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "ZADD myzset 1 uno", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "ZADD myzset 2 two 3 three", "Response": "\"2\"" }, { "Protocol": "REDIS", "Request": "ZRANGE myzset 0 -1 WITHSCORES", "Response": "\"one\",\"1\",\"uno\",\"1\",\"two\",\"2\",\"three\",\"3\"" }] }`, }
View Source
var ZCard = Case{ Func: func(t *testing.T, ctx context.Context, c *redis.Client) { r1, err := c.OpsForZSet().ZAdd(ctx, "myzset", 1, "one") if err != nil { t.Fatal(err) } assert.Equal(t, r1, int64(1)) r2, err := c.OpsForZSet().ZAdd(ctx, "myzset", 2, "two") if err != nil { t.Fatal(err) } assert.Equal(t, r2, int64(1)) r3, err := c.OpsForZSet().ZCard(ctx, "myzset") if err != nil { t.Fatal(err) } assert.Equal(t, r3, int64(2)) }, Data: ` { "Session": "df3b64266ebe4e63a464e135000a07cd", "Actions": [{ "Protocol": "REDIS", "Request": "ZADD myzset 1 one", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "ZADD myzset 2 two", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "ZCARD myzset", "Response": "\"2\"" }] }`, }
View Source
var ZCount = Case{ Func: func(t *testing.T, ctx context.Context, c *redis.Client) { r1, err := c.OpsForZSet().ZAdd(ctx, "myzset", 1, "one") if err != nil { t.Fatal(err) } assert.Equal(t, r1, int64(1)) r2, err := c.OpsForZSet().ZAdd(ctx, "myzset", 2, "two") if err != nil { t.Fatal(err) } assert.Equal(t, r2, int64(1)) r3, err := c.OpsForZSet().ZAdd(ctx, "myzset", 3, "three") if err != nil { t.Fatal(err) } assert.Equal(t, r3, int64(1)) r4, err := c.OpsForZSet().ZCount(ctx, "myzset", "-inf", "+inf") if err != nil { t.Fatal(err) } assert.Equal(t, r4, int64(3)) r5, err := c.OpsForZSet().ZCount(ctx, "myzset", "(1", "3") if err != nil { t.Fatal(err) } assert.Equal(t, r5, int64(2)) }, Data: ` { "Session": "df3b64266ebe4e63a464e135000a07cd", "Actions": [{ "Protocol": "REDIS", "Request": "ZADD myzset 1 one", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "ZADD myzset 2 two", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "ZADD myzset 3 three", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "ZCOUNT myzset -inf +inf", "Response": "\"3\"" }, { "Protocol": "REDIS", "Request": "ZCOUNT myzset (1 3", "Response": "\"2\"" }] }`, }
View Source
var ZDiff = Case{ Func: func(t *testing.T, ctx context.Context, c *redis.Client) { r1, err := c.OpsForZSet().ZAdd(ctx, "zset1", 1, "one") if err != nil { t.Fatal(err) } assert.Equal(t, r1, int64(1)) r2, err := c.OpsForZSet().ZAdd(ctx, "zset1", 2, "two") if err != nil { t.Fatal(err) } assert.Equal(t, r2, int64(1)) r3, err := c.OpsForZSet().ZAdd(ctx, "zset1", 3, "three") if err != nil { t.Fatal(err) } assert.Equal(t, r3, int64(1)) r4, err := c.OpsForZSet().ZAdd(ctx, "zset2", 1, "one") if err != nil { t.Fatal(err) } assert.Equal(t, r4, int64(1)) r5, err := c.OpsForZSet().ZAdd(ctx, "zset2", 2, "two") if err != nil { t.Fatal(err) } assert.Equal(t, r5, int64(1)) r6, err := c.OpsForZSet().ZDiff(ctx, "zset1", "zset2") if err != nil { t.Fatal(err) } assert.Equal(t, r6, []string{"three"}) r7, err := c.OpsForZSet().ZDiffWithScores(ctx, "zset1", "zset2") if err != nil { t.Fatal(err) } assert.Equal(t, r7, []redis.ZItem{{"three", 3}}) }, Data: ` { "Session": "df3b64266ebe4e63a464e135000a07cd", "Actions": [{ "Protocol": "REDIS", "Request": "ZADD zset1 1 one", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "ZADD zset1 2 two", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "ZADD zset1 3 three", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "ZADD zset2 1 one", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "ZADD zset2 2 two", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "ZDIFF 2 zset1 zset2", "Response": "\"three\"" }, { "Protocol": "REDIS", "Request": "ZDIFF 2 zset1 zset2 WITHSCORES", "Response": "\"three\",\"3\"" }] }`, }
View Source
var ZIncrBy = Case{ Func: func(t *testing.T, ctx context.Context, c *redis.Client) { r1, err := c.OpsForZSet().ZAdd(ctx, "myzset", 1, "one") if err != nil { t.Fatal(err) } assert.Equal(t, r1, int64(1)) r2, err := c.OpsForZSet().ZAdd(ctx, "myzset", 2, "two") if err != nil { t.Fatal(err) } assert.Equal(t, r2, int64(1)) r3, err := c.OpsForZSet().ZIncrBy(ctx, "myzset", 2, "one") if err != nil { t.Fatal(err) } assert.Equal(t, r3, float64(3)) r4, err := c.OpsForZSet().ZRangeWithScores(ctx, "myzset", 0, -1) if err != nil { t.Fatal(err) } assert.Equal(t, r4, []redis.ZItem{{"two", 2}, {"one", 3}}) }, Data: ` { "Session": "df3b64266ebe4e63a464e135000a07cd", "Actions": [{ "Protocol": "REDIS", "Request": "ZADD myzset 1 one", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "ZADD myzset 2 two", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "ZINCRBY myzset 2 one", "Response": "\"3\"" }, { "Protocol": "REDIS", "Request": "ZRANGE myzset 0 -1 WITHSCORES", "Response": "\"two\",\"2\",\"one\",\"3\"" }] }`, }
View Source
var ZInter = Case{ Func: func(t *testing.T, ctx context.Context, c *redis.Client) { r1, err := c.OpsForZSet().ZAdd(ctx, "zset1", 1, "one") if err != nil { t.Fatal(err) } assert.Equal(t, r1, int64(1)) r2, err := c.OpsForZSet().ZAdd(ctx, "zset1", 2, "two") if err != nil { t.Fatal(err) } assert.Equal(t, r2, int64(1)) r3, err := c.OpsForZSet().ZAdd(ctx, "zset2", 1, "one") if err != nil { t.Fatal(err) } assert.Equal(t, r3, int64(1)) r4, err := c.OpsForZSet().ZAdd(ctx, "zset2", 2, "two") if err != nil { t.Fatal(err) } assert.Equal(t, r4, int64(1)) r5, err := c.OpsForZSet().ZAdd(ctx, "zset2", 3, "three") if err != nil { t.Fatal(err) } assert.Equal(t, r5, int64(1)) r6, err := c.OpsForZSet().ZInter(ctx, 2, "zset1", "zset2") if err != nil { t.Fatal(err) } assert.Equal(t, r6, []string{"one", "two"}) r7, err := c.OpsForZSet().ZInterWithScores(ctx, 2, "zset1", "zset2") if err != nil { t.Fatal(err) } assert.Equal(t, r7, []redis.ZItem{{"one", 2}, {"two", 4}}) }, Data: ` { "Session": "df3b64266ebe4e63a464e135000a07cd", "Actions": [{ "Protocol": "REDIS", "Request": "ZADD zset1 1 one", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "ZADD zset1 2 two", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "ZADD zset2 1 one", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "ZADD zset2 2 two", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "ZADD zset2 3 three", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "ZINTER 2 zset1 zset2", "Response": "\"one\",\"two\"" }, { "Protocol": "REDIS", "Request": "ZINTER 2 zset1 zset2 WITHSCORES", "Response": "\"one\",\"2\",\"two\",\"4\"" }] }`, }
View Source
var ZLexCount = Case{ Func: func(t *testing.T, ctx context.Context, c *redis.Client) { r1, err := c.OpsForZSet().ZAdd(ctx, "myzset", 0, "a", 0, "b", 0, "c", 0, "d", 0, "e") if err != nil { t.Fatal(err) } assert.Equal(t, r1, int64(5)) r2, err := c.OpsForZSet().ZAdd(ctx, "myzset", 0, "f", 0, "g") if err != nil { t.Fatal(err) } assert.Equal(t, r2, int64(2)) r3, err := c.OpsForZSet().ZLexCount(ctx, "myzset", "-", "+") if err != nil { t.Fatal(err) } assert.Equal(t, r3, int64(7)) r4, err := c.OpsForZSet().ZLexCount(ctx, "myzset", "[b", "[f") if err != nil { t.Fatal(err) } assert.Equal(t, r4, int64(5)) }, Data: ` { "Session": "df3b64266ebe4e63a464e135000a07cd", "Actions": [{ "Protocol": "REDIS", "Request": "ZADD myzset 0 a 0 b 0 c 0 d 0 e", "Response": "\"5\"" }, { "Protocol": "REDIS", "Request": "ZADD myzset 0 f 0 g", "Response": "\"2\"" }, { "Protocol": "REDIS", "Request": "ZLEXCOUNT myzset - +", "Response": "\"7\"" }, { "Protocol": "REDIS", "Request": "ZLEXCOUNT myzset [b [f", "Response": "\"5\"" }] }`, }
View Source
var ZMScore = Case{ Func: func(t *testing.T, ctx context.Context, c *redis.Client) { r1, err := c.OpsForZSet().ZAdd(ctx, "myzset", 1, "one") if err != nil { t.Fatal(err) } assert.Equal(t, r1, int64(1)) r2, err := c.OpsForZSet().ZAdd(ctx, "myzset", 2, "two") if err != nil { t.Fatal(err) } assert.Equal(t, r2, int64(1)) r3, err := c.OpsForZSet().ZMScore(ctx, "myzset", "one", "two", "nofield") if err != nil { t.Fatal(err) } assert.Equal(t, r3, []float64{1, 2, 0}) }, Data: ` { "Session": "df3b64266ebe4e63a464e135000a07cd", "Actions": [{ "Protocol": "REDIS", "Request": "ZADD myzset 1 one", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "ZADD myzset 2 two", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "ZMSCORE myzset one two nofield", "Response": "\"1\",\"2\",NULL" }] }`, }
View Source
var ZPopMax = Case{ Func: func(t *testing.T, ctx context.Context, c *redis.Client) { r1, err := c.OpsForZSet().ZAdd(ctx, "myzset", 1, "one") if err != nil { t.Fatal(err) } assert.Equal(t, r1, int64(1)) r2, err := c.OpsForZSet().ZAdd(ctx, "myzset", 2, "two") if err != nil { t.Fatal(err) } assert.Equal(t, r2, int64(1)) r3, err := c.OpsForZSet().ZAdd(ctx, "myzset", 3, "three") if err != nil { t.Fatal(err) } assert.Equal(t, r3, int64(1)) r4, err := c.OpsForZSet().ZPopMax(ctx, "myzset") if err != nil { t.Fatal(err) } assert.Equal(t, r4, []redis.ZItem{{"three", 3}}) }, Data: ` { "Session": "df3b64266ebe4e63a464e135000a07cd", "Actions": [{ "Protocol": "REDIS", "Request": "ZADD myzset 1 one", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "ZADD myzset 2 two", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "ZADD myzset 3 three", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "ZPOPMAX myzset", "Response": "\"three\",\"3\"" }] }`, }
View Source
var ZPopMin = Case{ Func: func(t *testing.T, ctx context.Context, c *redis.Client) { r1, err := c.OpsForZSet().ZAdd(ctx, "myzset", 1, "one") if err != nil { t.Fatal(err) } assert.Equal(t, r1, int64(1)) r2, err := c.OpsForZSet().ZAdd(ctx, "myzset", 2, "two") if err != nil { t.Fatal(err) } assert.Equal(t, r2, int64(1)) r3, err := c.OpsForZSet().ZAdd(ctx, "myzset", 3, "three") if err != nil { t.Fatal(err) } assert.Equal(t, r3, int64(1)) r4, err := c.OpsForZSet().ZPopMin(ctx, "myzset") if err != nil { t.Fatal(err) } assert.Equal(t, r4, []redis.ZItem{{"one", 1}}) }, Data: ` { "Session": "df3b64266ebe4e63a464e135000a07cd", "Actions": [{ "Protocol": "REDIS", "Request": "ZADD myzset 1 one", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "ZADD myzset 2 two", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "ZADD myzset 3 three", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "ZPOPMIN myzset", "Response": "\"one\",\"1\"" }] }`, }
View Source
var ZRandMember = Case{ Func: func(t *testing.T, ctx context.Context, c *redis.Client) { r1, err := c.OpsForZSet().ZAdd(ctx, "dadi", 1, "uno", 2, "due", 3, "tre", 4, "quattro", 5, "cinque", 6, "sei") if err != nil { t.Fatal(err) } assert.Equal(t, r1, int64(6)) r2, err := c.OpsForZSet().ZRandMember(ctx, "dadi") if err != nil { t.Fatal(err) } assert.NotEqual(t, r2, "") r3, err := c.OpsForZSet().ZRandMember(ctx, "dadi") if err != nil { t.Fatal(err) } assert.NotEqual(t, r3, "") r4, err := c.OpsForZSet().ZRandMemberWithScores(ctx, "dadi", -5) if err != nil { t.Fatal(err) } assert.Equal(t, len(r4), 5) }, Data: ` { "Session": "df3b64266ebe4e63a464e135000a07cd", "Actions": [{ "Protocol": "REDIS", "Request": "ZADD dadi 1 uno 2 due 3 tre 4 quattro 5 cinque 6 sei", "Response": "\"6\"" }, { "Protocol": "REDIS", "Request": "ZRANDMEMBER dadi", "Response": "\"sei\"" }, { "Protocol": "REDIS", "Request": "ZRANDMEMBER dadi", "Response": "\"sei\"" }, { "Protocol": "REDIS", "Request": "ZRANDMEMBER dadi -5 WITHSCORES", "Response": "\"uno\",\"1\",\"uno\",\"1\",\"cinque\",\"5\",\"sei\",\"6\",\"due\",\"2\"" }] }`, }
View Source
var ZRange = Case{ Func: func(t *testing.T, ctx context.Context, c *redis.Client) { r1, err := c.OpsForZSet().ZAdd(ctx, "myzset", 1, "one") if err != nil { t.Fatal(err) } assert.Equal(t, r1, int64(1)) r2, err := c.OpsForZSet().ZAdd(ctx, "myzset", 2, "two") if err != nil { t.Fatal(err) } assert.Equal(t, r2, int64(1)) r3, err := c.OpsForZSet().ZAdd(ctx, "myzset", 3, "three") if err != nil { t.Fatal(err) } assert.Equal(t, r3, int64(1)) r4, err := c.OpsForZSet().ZRange(ctx, "myzset", 0, -1) if err != nil { t.Fatal(err) } assert.Equal(t, r4, []string{"one", "two", "three"}) r5, err := c.OpsForZSet().ZRange(ctx, "myzset", 2, 3) if err != nil { t.Fatal(err) } assert.Equal(t, r5, []string{"three"}) r6, err := c.OpsForZSet().ZRange(ctx, "myzset", -2, -1) if err != nil { t.Fatal(err) } assert.Equal(t, r6, []string{"two", "three"}) r7, err := c.OpsForZSet().ZRangeWithScores(ctx, "myzset", 0, 1) if err != nil { t.Fatal(err) } assert.Equal(t, r7, []redis.ZItem{{"one", 1}, {"two", 2}}) }, Data: ` { "Session": "df3b64266ebe4e63a464e135000a07cd", "Actions": [{ "Protocol": "REDIS", "Request": "ZADD myzset 1 one", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "ZADD myzset 2 two", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "ZADD myzset 3 three", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "ZRANGE myzset 0 -1", "Response": "\"one\",\"two\",\"three\"" }, { "Protocol": "REDIS", "Request": "ZRANGE myzset 2 3", "Response": "\"three\"" }, { "Protocol": "REDIS", "Request": "ZRANGE myzset -2 -1", "Response": "\"two\",\"three\"" }, { "Protocol": "REDIS", "Request": "ZRANGE myzset 0 1 WITHSCORES", "Response": "\"one\",\"1\",\"two\",\"2\"" }] }`, }
View Source
var ZRangeByLex = Case{ Func: func(t *testing.T, ctx context.Context, c *redis.Client) { r1, err := c.OpsForZSet().ZAdd(ctx, "myzset", 0, "a", 0, "b", 0, "c", 0, "d", 0, "e", 0, "f", 0, "g") if err != nil { t.Fatal(err) } assert.Equal(t, r1, int64(7)) r2, err := c.OpsForZSet().ZRangeByLex(ctx, "myzset", "-", "[c") if err != nil { t.Fatal(err) } assert.Equal(t, r2, []string{"a", "b", "c"}) r3, err := c.OpsForZSet().ZRangeByLex(ctx, "myzset", "-", "(c") if err != nil { t.Fatal(err) } assert.Equal(t, r3, []string{"a", "b"}) r4, err := c.OpsForZSet().ZRangeByLex(ctx, "myzset", "[aaa", "(g") if err != nil { t.Fatal(err) } assert.Equal(t, r4, []string{"b", "c", "d", "e", "f"}) }, Data: ` { "Session": "df3b64266ebe4e63a464e135000a07cd", "Actions": [{ "Protocol": "REDIS", "Request": "ZADD myzset 0 a 0 b 0 c 0 d 0 e 0 f 0 g", "Response": "\"7\"" }, { "Protocol": "REDIS", "Request": "ZRANGEBYLEX myzset - [c", "Response": "\"a\",\"b\",\"c\"" }, { "Protocol": "REDIS", "Request": "ZRANGEBYLEX myzset - (c", "Response": "\"a\",\"b\"" }, { "Protocol": "REDIS", "Request": "ZRANGEBYLEX myzset [aaa (g", "Response": "\"b\",\"c\",\"d\",\"e\",\"f\"" }] }`, }
View Source
var ZRangeByScore = Case{ Func: func(t *testing.T, ctx context.Context, c *redis.Client) { r1, err := c.OpsForZSet().ZAdd(ctx, "myzset", 1, "one") if err != nil { t.Fatal(err) } assert.Equal(t, r1, int64(1)) r2, err := c.OpsForZSet().ZAdd(ctx, "myzset", 2, "two") if err != nil { t.Fatal(err) } assert.Equal(t, r2, int64(1)) r3, err := c.OpsForZSet().ZAdd(ctx, "myzset", 3, "three") if err != nil { t.Fatal(err) } assert.Equal(t, r3, int64(1)) r4, err := c.OpsForZSet().ZRangeByScore(ctx, "myzset", "-inf", "+inf") if err != nil { t.Fatal(err) } assert.Equal(t, r4, []string{"one", "two", "three"}) r5, err := c.OpsForZSet().ZRangeByScore(ctx, "myzset", "1", "2") if err != nil { t.Fatal(err) } assert.Equal(t, r5, []string{"one", "two"}) r6, err := c.OpsForZSet().ZRangeByScore(ctx, "myzset", "(1", "2") if err != nil { t.Fatal(err) } assert.Equal(t, r6, []string{"two"}) r7, err := c.OpsForZSet().ZRangeByScore(ctx, "myzset", "(1", "(2") if err != nil { t.Fatal(err) } assert.Equal(t, len(r7), 0) }, Data: ` { "Session": "df3b64266ebe4e63a464e135000a07cd", "Actions": [{ "Protocol": "REDIS", "Request": "ZADD myzset 1 one", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "ZADD myzset 2 two", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "ZADD myzset 3 three", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "ZRANGEBYSCORE myzset -inf +inf", "Response": "\"one\",\"two\",\"three\"" }, { "Protocol": "REDIS", "Request": "ZRANGEBYSCORE myzset 1 2", "Response": "\"one\",\"two\"" }, { "Protocol": "REDIS", "Request": "ZRANGEBYSCORE myzset (1 2", "Response": "\"two\"" }, { "Protocol": "REDIS", "Request": "ZRANGEBYSCORE myzset (1 (2", "Response": "" }] }`, }
View Source
var ZRank = Case{ Func: func(t *testing.T, ctx context.Context, c *redis.Client) { r1, err := c.OpsForZSet().ZAdd(ctx, "myzset", 1, "one") if err != nil { t.Fatal(err) } assert.Equal(t, r1, int64(1)) r2, err := c.OpsForZSet().ZAdd(ctx, "myzset", 2, "two") if err != nil { t.Fatal(err) } assert.Equal(t, r2, int64(1)) r3, err := c.OpsForZSet().ZAdd(ctx, "myzset", 3, "three") if err != nil { t.Fatal(err) } assert.Equal(t, r3, int64(1)) r4, err := c.OpsForZSet().ZRank(ctx, "myzset", "three") if err != nil { t.Fatal(err) } assert.Equal(t, r4, int64(2)) _, err = c.OpsForZSet().ZRank(ctx, "myzset", "four") assert.True(t, redis.IsErrNil(err)) }, Data: ` { "Session": "df3b64266ebe4e63a464e135000a07cd", "Actions": [{ "Protocol": "REDIS", "Request": "ZADD myzset 1 one", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "ZADD myzset 2 two", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "ZADD myzset 3 three", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "ZRANK myzset three", "Response": "\"2\"" }, { "Protocol": "REDIS", "Request": "ZRANK myzset four", "Response": "NULL" }] }`, }
View Source
var ZRem = Case{ Func: func(t *testing.T, ctx context.Context, c *redis.Client) { r1, err := c.OpsForZSet().ZAdd(ctx, "myzset", 1, "one") if err != nil { t.Fatal(err) } assert.Equal(t, r1, int64(1)) r2, err := c.OpsForZSet().ZAdd(ctx, "myzset", 2, "two") if err != nil { t.Fatal(err) } assert.Equal(t, r2, int64(1)) r3, err := c.OpsForZSet().ZAdd(ctx, "myzset", 3, "three") if err != nil { t.Fatal(err) } assert.Equal(t, r3, int64(1)) r4, err := c.OpsForZSet().ZRem(ctx, "myzset", "two") if err != nil { t.Fatal(err) } assert.Equal(t, r4, int64(1)) r5, err := c.OpsForZSet().ZRangeWithScores(ctx, "myzset", 0, -1) if err != nil { t.Fatal(err) } assert.Equal(t, r5, []redis.ZItem{{"one", 1}, {"three", 3}}) }, Data: ` { "Session": "df3b64266ebe4e63a464e135000a07cd", "Actions": [{ "Protocol": "REDIS", "Request": "ZADD myzset 1 one", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "ZADD myzset 2 two", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "ZADD myzset 3 three", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "ZREM myzset two", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "ZRANGE myzset 0 -1 WITHSCORES", "Response": "\"one\",\"1\",\"three\",\"3\"" }] }`, }
View Source
var ZRemRangeByLex = Case{ Func: func(t *testing.T, ctx context.Context, c *redis.Client) { r1, err := c.OpsForZSet().ZAdd(ctx, "myzset", 0, "aaaa", 0, "b", 0, "c", 0, "d", 0, "e") if err != nil { t.Fatal(err) } assert.Equal(t, r1, int64(5)) r2, err := c.OpsForZSet().ZAdd(ctx, "myzset", 0, "foo", 0, "zap", 0, "zip", 0, "ALPHA", 0, "alpha") if err != nil { t.Fatal(err) } assert.Equal(t, r2, int64(5)) r3, err := c.OpsForZSet().ZRange(ctx, "myzset", 0, -1) if err != nil { t.Fatal(err) } assert.Equal(t, r3, []string{ "ALPHA", "aaaa", "alpha", "b", "c", "d", "e", "foo", "zap", "zip", }) r4, err := c.OpsForZSet().ZRemRangeByLex(ctx, "myzset", "[alpha", "[omega") if err != nil { t.Fatal(err) } assert.Equal(t, r4, int64(6)) r5, err := c.OpsForZSet().ZRange(ctx, "myzset", 0, -1) if err != nil { t.Fatal(err) } assert.Equal(t, r5, []string{"ALPHA", "aaaa", "zap", "zip"}) }, Data: ` { "Session": "df3b64266ebe4e63a464e135000a07cd", "Actions": [{ "Protocol": "REDIS", "Request": "ZADD myzset 0 aaaa 0 b 0 c 0 d 0 e", "Response": "\"5\"" }, { "Protocol": "REDIS", "Request": "ZADD myzset 0 foo 0 zap 0 zip 0 ALPHA 0 alpha", "Response": "\"5\"" }, { "Protocol": "REDIS", "Request": "ZRANGE myzset 0 -1", "Response": "\"ALPHA\",\"aaaa\",\"alpha\",\"b\",\"c\",\"d\",\"e\",\"foo\",\"zap\",\"zip\"" }, { "Protocol": "REDIS", "Request": "ZREMRANGEBYLEX myzset [alpha [omega", "Response": "\"6\"" }, { "Protocol": "REDIS", "Request": "ZRANGE myzset 0 -1", "Response": "\"ALPHA\",\"aaaa\",\"zap\",\"zip\"" }] }`, }
View Source
var ZRemRangeByRank = Case{ Func: func(t *testing.T, ctx context.Context, c *redis.Client) { r1, err := c.OpsForZSet().ZAdd(ctx, "myzset", 1, "one") if err != nil { t.Fatal(err) } assert.Equal(t, r1, int64(1)) r2, err := c.OpsForZSet().ZAdd(ctx, "myzset", 2, "two") if err != nil { t.Fatal(err) } assert.Equal(t, r2, int64(1)) r3, err := c.OpsForZSet().ZAdd(ctx, "myzset", 3, "three") if err != nil { t.Fatal(err) } assert.Equal(t, r3, int64(1)) r4, err := c.OpsForZSet().ZRemRangeByRank(ctx, "myzset", 0, 1) if err != nil { t.Fatal(err) } assert.Equal(t, r4, int64(2)) r5, err := c.OpsForZSet().ZRangeWithScores(ctx, "myzset", 0, -1) if err != nil { t.Fatal(err) } assert.Equal(t, r5, []redis.ZItem{{"three", 3}}) }, Data: ` { "Session": "df3b64266ebe4e63a464e135000a07cd", "Actions": [{ "Protocol": "REDIS", "Request": "ZADD myzset 1 one", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "ZADD myzset 2 two", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "ZADD myzset 3 three", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "ZREMRANGEBYRANK myzset 0 1", "Response": "\"2\"" }, { "Protocol": "REDIS", "Request": "ZRANGE myzset 0 -1 WITHSCORES", "Response": "\"three\",\"3\"" }] }`, }
View Source
var ZRemRangeByScore = Case{ Func: func(t *testing.T, ctx context.Context, c *redis.Client) { r1, err := c.OpsForZSet().ZAdd(ctx, "myzset", 1, "one") if err != nil { t.Fatal(err) } assert.Equal(t, r1, int64(1)) r2, err := c.OpsForZSet().ZAdd(ctx, "myzset", 2, "two") if err != nil { t.Fatal(err) } assert.Equal(t, r2, int64(1)) r3, err := c.OpsForZSet().ZAdd(ctx, "myzset", 3, "three") if err != nil { t.Fatal(err) } assert.Equal(t, r3, int64(1)) r4, err := c.OpsForZSet().ZRemRangeByScore(ctx, "myzset", "-inf", "(2") if err != nil { t.Fatal(err) } assert.Equal(t, r4, int64(1)) r5, err := c.OpsForZSet().ZRangeWithScores(ctx, "myzset", 0, -1) if err != nil { t.Fatal(err) } assert.Equal(t, r5, []redis.ZItem{{"two", 2}, {"three", 3}}) }, Data: ` { "Session": "df3b64266ebe4e63a464e135000a07cd", "Actions": [{ "Protocol": "REDIS", "Request": "ZADD myzset 1 one", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "ZADD myzset 2 two", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "ZADD myzset 3 three", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "ZREMRANGEBYSCORE myzset -inf (2", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "ZRANGE myzset 0 -1 WITHSCORES", "Response": "\"two\",\"2\",\"three\",\"3\"" }] }`, }
View Source
var ZRevRange = Case{ Func: func(t *testing.T, ctx context.Context, c *redis.Client) { r1, err := c.OpsForZSet().ZAdd(ctx, "myzset", 1, "one") if err != nil { t.Fatal(err) } assert.Equal(t, r1, int64(1)) r2, err := c.OpsForZSet().ZAdd(ctx, "myzset", 2, "two") if err != nil { t.Fatal(err) } assert.Equal(t, r2, int64(1)) r3, err := c.OpsForZSet().ZAdd(ctx, "myzset", 3, "three") if err != nil { t.Fatal(err) } assert.Equal(t, r3, int64(1)) r4, err := c.OpsForZSet().ZRevRange(ctx, "myzset", 0, -1) if err != nil { t.Fatal(err) } assert.Equal(t, r4, []string{"three", "two", "one"}) r5, err := c.OpsForZSet().ZRevRange(ctx, "myzset", 2, 3) if err != nil { t.Fatal(err) } assert.Equal(t, r5, []string{"one"}) r6, err := c.OpsForZSet().ZRevRange(ctx, "myzset", -2, -1) if err != nil { t.Fatal(err) } assert.Equal(t, r6, []string{"two", "one"}) }, Data: ` { "Session": "df3b64266ebe4e63a464e135000a07cd", "Actions": [{ "Protocol": "REDIS", "Request": "ZADD myzset 1 one", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "ZADD myzset 2 two", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "ZADD myzset 3 three", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "ZREVRANGE myzset 0 -1", "Response": "\"three\",\"two\",\"one\"" }, { "Protocol": "REDIS", "Request": "ZREVRANGE myzset 2 3", "Response": "\"one\"" }, { "Protocol": "REDIS", "Request": "ZREVRANGE myzset -2 -1", "Response": "\"two\",\"one\"" }] }`, }
View Source
var ZRevRangeByLex = Case{ Func: func(t *testing.T, ctx context.Context, c *redis.Client) { r1, err := c.OpsForZSet().ZAdd(ctx, "myzset", 0, "a", 0, "b", 0, "c", 0, "d", 0, "e", 0, "f", 0, "g") if err != nil { t.Fatal(err) } assert.Equal(t, r1, int64(7)) r2, err := c.OpsForZSet().ZRevRangeByLex(ctx, "myzset", "[c", "-") if err != nil { t.Fatal(err) } assert.Equal(t, r2, []string{"c", "b", "a"}) r3, err := c.OpsForZSet().ZRevRangeByLex(ctx, "myzset", "(c", "-") if err != nil { t.Fatal(err) } assert.Equal(t, r3, []string{"b", "a"}) r4, err := c.OpsForZSet().ZRevRangeByLex(ctx, "myzset", "(g", "[aaa") if err != nil { t.Fatal(err) } assert.Equal(t, r4, []string{"f", "e", "d", "c", "b"}) }, Data: ` { "Session": "df3b64266ebe4e63a464e135000a07cd", "Actions": [{ "Protocol": "REDIS", "Request": "ZADD myzset 0 a 0 b 0 c 0 d 0 e 0 f 0 g", "Response": "\"7\"" }, { "Protocol": "REDIS", "Request": "ZREVRANGEBYLEX myzset [c -", "Response": "\"c\",\"b\",\"a\"" }, { "Protocol": "REDIS", "Request": "ZREVRANGEBYLEX myzset (c -", "Response": "\"b\",\"a\"" }, { "Protocol": "REDIS", "Request": "ZREVRANGEBYLEX myzset (g [aaa", "Response": "\"f\",\"e\",\"d\",\"c\",\"b\"" }] }`, }
View Source
var ZRevRangeByScore = Case{ Func: func(t *testing.T, ctx context.Context, c *redis.Client) { r1, err := c.OpsForZSet().ZAdd(ctx, "myzset", 1, "one") if err != nil { t.Fatal(err) } assert.Equal(t, r1, int64(1)) r2, err := c.OpsForZSet().ZAdd(ctx, "myzset", 2, "two") if err != nil { t.Fatal(err) } assert.Equal(t, r2, int64(1)) r3, err := c.OpsForZSet().ZAdd(ctx, "myzset", 3, "three") if err != nil { t.Fatal(err) } assert.Equal(t, r3, int64(1)) r4, err := c.OpsForZSet().ZRevRangeByScore(ctx, "myzset", "+inf", "-inf") if err != nil { t.Fatal(err) } assert.Equal(t, r4, []string{"three", "two", "one"}) r5, err := c.OpsForZSet().ZRevRangeByScore(ctx, "myzset", "2", "1") if err != nil { t.Fatal(err) } assert.Equal(t, r5, []string{"two", "one"}) r6, err := c.OpsForZSet().ZRevRangeByScore(ctx, "myzset", "2", "(1") if err != nil { t.Fatal(err) } assert.Equal(t, r6, []string{"two"}) r7, err := c.OpsForZSet().ZRevRangeByScore(ctx, "myzset", "(2", "(1") if err != nil { t.Fatal(err) } assert.Equal(t, len(r7), 0) }, Data: ` { "Session": "df3b64266ebe4e63a464e135000a07cd", "Actions": [{ "Protocol": "REDIS", "Request": "ZADD myzset 1 one", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "ZADD myzset 2 two", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "ZADD myzset 3 three", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "ZREVRANGEBYSCORE myzset +inf -inf", "Response": "\"three\",\"two\",\"one\"" }, { "Protocol": "REDIS", "Request": "ZREVRANGEBYSCORE myzset 2 1", "Response": "\"two\",\"one\"" }, { "Protocol": "REDIS", "Request": "ZREVRANGEBYSCORE myzset 2 (1", "Response": "\"two\"" }, { "Protocol": "REDIS", "Request": "ZREVRANGEBYSCORE myzset (2 (1", "Response": "" }] }`, }
View Source
var ZRevRank = Case{ Func: func(t *testing.T, ctx context.Context, c *redis.Client) { r1, err := c.OpsForZSet().ZAdd(ctx, "myzset", 1, "one") if err != nil { t.Fatal(err) } assert.Equal(t, r1, int64(1)) r2, err := c.OpsForZSet().ZAdd(ctx, "myzset", 2, "two") if err != nil { t.Fatal(err) } assert.Equal(t, r2, int64(1)) r3, err := c.OpsForZSet().ZAdd(ctx, "myzset", 3, "three") if err != nil { t.Fatal(err) } assert.Equal(t, r3, int64(1)) r4, err := c.OpsForZSet().ZRevRank(ctx, "myzset", "one") if err != nil { t.Fatal(err) } assert.Equal(t, r4, int64(2)) _, err = c.OpsForZSet().ZRevRank(ctx, "myzset", "four") assert.True(t, redis.IsErrNil(err)) }, Data: ` { "Session": "df3b64266ebe4e63a464e135000a07cd", "Actions": [{ "Protocol": "REDIS", "Request": "ZADD myzset 1 one", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "ZADD myzset 2 two", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "ZADD myzset 3 three", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "ZREVRANK myzset one", "Response": "\"2\"" }, { "Protocol": "REDIS", "Request": "ZREVRANK myzset four", "Response": "NULL" }] }`, }
View Source
var ZScore = Case{ Func: func(t *testing.T, ctx context.Context, c *redis.Client) { r1, err := c.OpsForZSet().ZAdd(ctx, "myzset", 1, "one") if err != nil { t.Fatal(err) } assert.Equal(t, r1, int64(1)) r2, err := c.OpsForZSet().ZScore(ctx, "myzset", "one") if err != nil { t.Fatal(err) } assert.Equal(t, r2, float64(1)) }, Data: ` { "Session": "df3b64266ebe4e63a464e135000a07cd", "Actions": [{ "Protocol": "REDIS", "Request": "ZADD myzset 1 one", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "ZSCORE myzset one", "Response": "\"1\"" }] }`, }
View Source
var ZUnion = Case{ Func: func(t *testing.T, ctx context.Context, c *redis.Client) { r1, err := c.OpsForZSet().ZAdd(ctx, "zset1", 1, "one") if err != nil { t.Fatal(err) } assert.Equal(t, r1, int64(1)) r2, err := c.OpsForZSet().ZAdd(ctx, "zset1", 2, "two") if err != nil { t.Fatal(err) } assert.Equal(t, r2, int64(1)) r3, err := c.OpsForZSet().ZAdd(ctx, "zset2", 1, "one") if err != nil { t.Fatal(err) } assert.Equal(t, r3, int64(1)) r4, err := c.OpsForZSet().ZAdd(ctx, "zset2", 2, "two") if err != nil { t.Fatal(err) } assert.Equal(t, r4, int64(1)) r5, err := c.OpsForZSet().ZAdd(ctx, "zset2", 3, "three") if err != nil { t.Fatal(err) } assert.Equal(t, r5, int64(1)) r6, err := c.OpsForZSet().ZUnion(ctx, 2, "zset1", "zset2") if err != nil { t.Fatal(err) } assert.Equal(t, r6, []string{"one", "three", "two"}) r7, err := c.OpsForZSet().ZUnionWithScores(ctx, 2, "zset1", "zset2") if err != nil { t.Fatal(err) } assert.Equal(t, r7, []redis.ZItem{{"one", 2}, {"three", 3}, {"two", 4}}) }, Data: ` { "Session": "df3b64266ebe4e63a464e135000a07cd", "Actions": [{ "Protocol": "REDIS", "Request": "ZADD zset1 1 one", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "ZADD zset1 2 two", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "ZADD zset2 1 one", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "ZADD zset2 2 two", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "ZADD zset2 3 three", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "ZUNION 2 zset1 zset2", "Response": "\"one\",\"three\",\"two\"" }, { "Protocol": "REDIS", "Request": "ZUNION 2 zset1 zset2 WITHSCORES", "Response": "\"one\",\"2\",\"three\",\"3\",\"two\",\"4\"" }] }`, }
View Source
var ZUnionStore = Case{ Func: func(t *testing.T, ctx context.Context, c *redis.Client) { r1, err := c.OpsForZSet().ZAdd(ctx, "zset1", 1, "one") if err != nil { t.Fatal(err) } assert.Equal(t, r1, int64(1)) r2, err := c.OpsForZSet().ZAdd(ctx, "zset1", 2, "two") if err != nil { t.Fatal(err) } assert.Equal(t, r2, int64(1)) r3, err := c.OpsForZSet().ZAdd(ctx, "zset2", 1, "one") if err != nil { t.Fatal(err) } assert.Equal(t, r3, int64(1)) r4, err := c.OpsForZSet().ZAdd(ctx, "zset2", 2, "two") if err != nil { t.Fatal(err) } assert.Equal(t, r4, int64(1)) r5, err := c.OpsForZSet().ZAdd(ctx, "zset2", 3, "three") if err != nil { t.Fatal(err) } assert.Equal(t, r5, int64(1)) r6, err := c.OpsForZSet().ZUnionStore(ctx, "out", 2, "zset1", "zset2", "WEIGHTS", 2, 3) if err != nil { t.Fatal(err) } assert.Equal(t, r6, int64(3)) r7, err := c.OpsForZSet().ZRangeWithScores(ctx, "out", 0, -1) if err != nil { t.Fatal(err) } assert.Equal(t, r7, []redis.ZItem{{"one", 5}, {"three", 9}, {"two", 10}}) }, Data: ` { "Session": "df3b64266ebe4e63a464e135000a07cd", "Actions": [{ "Protocol": "REDIS", "Request": "ZADD zset1 1 one", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "ZADD zset1 2 two", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "ZADD zset2 1 one", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "ZADD zset2 2 two", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "ZADD zset2 3 three", "Response": "\"1\"" }, { "Protocol": "REDIS", "Request": "ZUNIONSTORE out 2 zset1 zset2 WEIGHTS 2 3", "Response": "\"3\"" }, { "Protocol": "REDIS", "Request": "ZRANGE out 0 -1 WITHSCORES", "Response": "\"one\",\"5\",\"three\",\"9\",\"two\",\"10\"" }] }`, }
Functions ¶
This section is empty.
Types ¶
Click to show internal directories.
Click to hide internal directories.