Redis 的 Go 客户端开发包 go-redis-client

MIT
Google Go
跨平台
2019-05-16
红薯

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
的码云指数为
超过 的项目
加载中
请先登录后再评论。

暂无资讯

暂无问答

redis cluster jedis client 示例

redis cluster 基本的redis操作示例: JedisCluster jc = null;     @Before     public void before(){         Set<HostAndPort> jedisClusterNodes = new HashS...

2015/05/05 22:18
3.6W
2
[Redis]ResponseError: Client sent AUTH, but no password is set

由于在代码中给redis添加了密码,如下 redis_store = redis.Redis(host='localhost', port=6379, db=4, password='root') 然而redis.conf中并没有设置密码,因此报ResponseError: Client sen...

05/24 13:33
32
0
Redis .Net Client库Beetle.Redis测试用例

Beetle.Redis第一阶段的功能基本完成,主要实现了一些简单的结构处理,GET,SET MGET,MHSET,MHGET和LIST相关的一些常用结构。已经跑通的测试用例 namespace Beetle.RedisClient.TestLib { ...

2013/08/12 14:16
362
0
redis-cluster client容灾(高可用)方案

这个涉及到redis的集群方案,无论是什么方案 都逃不过节点挂掉,高可用的处理。 一般有2种,重连和等待新主节点 提权。 一般来说节点宕机后 大量数据需要重新加载到内存 因此恢复时间比较长(...

2018/10/15 09:29
478
0
ERR Client sent AUTH, but no password is set redis 20190709

登录到redis服务 127.0.0.1:6379> auth 123456 ERR Client sent AUTH, but no password is set 设置其密码 Redis 127.0.0.1:6379> CONFIG SET requirepass "123456" OK redis 127.0.0.1:637...

2019/07/09 14:43
9
0
Redis深入学习笔记(二)client list 命令详解

Redis的client list 命令可以获取当前连接到redis server端的所有客户端以及相关状态,本篇主要介绍每一个参数的作用。 clisnt list 命令输出结果如下: (1)标识:id、addr、fd、name这四个...

2018/02/28 20:05
26
0
Python client for Redis 官翻文档2.10.1(五)

LUA Scripting LUA脚本 redis-py supports the EVAL, EVALSHA, and SCRIPT commands. However, there are a number of edge cases that make these commands tedious to use in real world ...

2014/06/21 16:12
639
0
Python client for Redis 官翻文档2.10.1(二)

更多的细节 连接池: 在幕后,redis-py 使用连接池管理连接到redis-server的连接.默认, 一旦你创建了一个Redis的实例 ,这个实例相应有自己的连接池。你可以重写此行为,在创建一个Redis实例...

2014/06/20 15:21
1.3K
1
Python client for Redis 官翻文档2.10.1(四)

Publish / Subscribe 发布/订阅 redis-py includes a PubSub object that subscribes to channels and listens for new messages. Creating a PubSub object is easy. redis-py包含一个订阅监...

2014/06/21 14:44
327
0

没有更多内容

加载失败,请刷新页面

返回顶部
顶部