go-redis-clientRedis 的 Go 客户端开发包
go-redis-client 是国内团队灵雀云开发的 Go 语言的 Redis 客户端开发包,支持 Redis 单机和集群。
特性
- 自动键前缀
 - 创建客户端实例时使用独立的参数对象
 - 内部使用 github.com/go-redis/redis 客户端,当前使用的是 gopkg.in/redis.v5
 - 客户端接口
 
示例
package main
import "redis" github.com/alauda/go-redis-client
func main() {
  // check options.go for more details
  opts := redis.RedisClientOptions{
    Type: 	  redis.ClientNormal,
    Hosts:    []string{"localhost:6379"},
    Password: "123456",
    Database: 0,
  }
  client := redis.NewRedisClient(opts)
  if err := client.Ping().Err(); err != nil {
    panic(err)
  }
  
  // Using cluster mode
  clusterOpts := redis.RedisClientOptions{
    Type:      redis.ClientCluster,
    Hosts:     []string{"localhost:7000","localhost:7001","localhost:7002"},
    Password:  "123456",
    Database:  0,
    // all keys with a prefix
    KeyPrefix: "my-app:",
  }
  clusterClient := redis.NewRedisClient(clusterOpts)
  if err := clusterClient.Ping().Err(); err != nil {
    panic(err)
  }
} 
Supported commands
- Ping
 - Incr
 - IncrBy
 - Decr
 - DecrBy
 - Expire
 - ExpireAt
 - Persist
 - PExpire
 - PExpireAt
 - PTTL
 - TTL
 - Exists
 - Get
 - GetBit
 - GetRange
 - GetSet
 - MGet
 - Dump
 - HExists
 - HGet
 - HGetAll
 - HIncrBy
 - HIncrByFloat
 - HKeys
 - HLen
 - HMGet
 - HMSet
 - HSet
 - HSetNX
 - HVals
 - LIndex
 - LInsert
 - LInsertAfter
 - LInsertBefore
 - LLen
 - LPop
 - LPush
 - LPushX
 - LRange
 - lRem
 - LSet
 - LTrim
 - RPop
 - RPopLPush
 - RPush
 - RPushX
 - Set
 - Append
 - Del
 - Unlink
 - SAdd
 - SCard
 - SDiff
 - SDiffStore
 - SInter
 - SInterStore
 - SIsMember
 - SMembers
 - SMove
 - SPop
 - SPopN
 - SRandMember
 - SRem
 - SUnion
 - SUnionStore
 - ZAdd
 - ZAddNX
 - ZAddXX
 - ZAddCh
 - ZaddNXCh
 - ZIncr
 - ZIncrNX
 - ZIncrXX
 - ZCard
 - ZCount
 - ZIncrBy
 - ZInterStore
 - ZRange
 - ZRangeWithScores
 - ZRangeByScore
 - ZRangeByLex
 - ZRangeByScoreWithScores
 - ZRank
 - ZRem
 - ZREmRangeByRank
 - ZRemRangeByScore
 - ZRemRangeByLex
 - ZRevRange
 - ZRevRangeWithScores
 - ZRevRangeByScore
 - ZRevRangeByLex
 - ZRevRangeByScoreWithScores
 - ZRevRank
 - ZScore
 - ZUnionStore
 - BLPop
 - BRPop
 - BRPopLPush
 - Type
 - Scan
 - SScan
 - ZScan
 - HScan
 - Publish
 - Subscribe
 
TODO
- Update to redis.v6
 - Support RedisCluster Subscribe
 - Better support for godoc
 - Add docker-compose and example application
 - Add tests
 
评论
