gossdb

module
v1.1.3-0...-72d0c13 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 19, 2019 License: MIT

README

gossdb

功能列表
  • 参考官方驱动开发,增加连接池支持,改进协议实现方式,提高了数据吞吐量
  • 支持 set 相关函数
  • 支持 zset 相关函数
  • 支持 hset 相关函数
  • 支持 queue 相关函数
  • 支持 multi 相关函数
  • 支持返回值类型转换,可以方便的把从ssdb中取到的内容转化为指定类型
  • 支持对象json的序列化,只需要开启Encoding选项
  • 支持连接自动回收,支持无错误获取连接,代码调用更简便
2.0主要改进
  • 修改所有函数名字,使其符合golang编码规范,通过 golint 验证
  • 改进协议实现方式,提高解析效率
  • 改进连接池方式,提高连接池的存取效率。连接池由原来的单一连接池,改为块状池,每个块都是一个独立的连接池,多个连接池协作,减少锁的竞争时间
  • 支持连接自动回收,支持无错误获取连接,代码调用更简便。原来使用连接必须判断连接是否获取成功,并手工关闭,现在可以省略掉这部分重复代码,使得您更专注于业务逻辑
  • 解决高并发时的内存泄漏问题,主要是通过回收计时器和重用连接来解决
性能测试,仅作参考,并不实际操作ssdb,只打开连接然后立即回收
  • BenchmarkConnectors_NewClient10-4 5000000 244 ns/op
  • BenchmarkConnectors_NewClient100-4 5000000 215 ns/op
  • BenchmarkConnectors_NewClient1000-4 5000000 281 ns/op
  • BenchmarkConnectors_NewClient5000-4 5000000 282 ns/op
主要配置项
  • Host string //ssdb的ip或主机名
  • Port int //ssdb的端口
  • GetClientTimeout int //获取连接超时时间,单位为秒。默认值: 5
  • ReadWriteTimeout int //连接读写超时时间,单位为秒。默认值: 60
  • WriteTimeout int //连接写超时时间,单位为秒,如果不设置与ReadWriteTimeout会保持一致。默认值: 0
  • ReadTimeout int //连接读超时时间,单位为秒,如果不设置与ReadWriteTimeout会保持一致。默认值: 0
  • MaxPoolSize int //最大连接个数。默认值: 100,PoolSize的整数倍,不足的话自动补足。
  • MinPoolSize int //最小连接个数。默认值: 20,PoolSize的整数倍,不足的话自动补足。
  • PoolSize int //连接池块的连接数。默认值: 20,连接池扩展和收缩时,以此值步进,可根据机器性能调整。
  • MaxWaitSize int //最大等待数目,当连接池满后,新建连接将等待池中连接释放后才可以继续,本值限制最大等待的数量,超过本值后将抛出异常。默认值: 1000
  • HealthSecond int //连接池内缓存的连接状态检查时间隔,单位为秒。默认值: 30
  • Password string //连接的密钥
  • WriteBufferSize int //连接写缓冲,默认为8k,单位为kb
  • ReadBufferSize int //连接读缓冲,默认为8k,单位为kb
  • RetryEnabled bool //是否启用重试,设置为true时,如果请求失败会再重试一次。默认值: false
  • ConnectTimeout int //创建连接的超时时间,单位为秒。默认值: 5
  • AutoClose bool //是否自动回收连接,如果开启后,获取的连接在使用后立即会被回收,所以不要重复使用。
  • Encoding bool //是否开启自动序列化

所有的API基于ssdb的原始API用法,只针对go的特点增加部分方法。所以也可以参照官方文档使用。

Directories

Path Synopsis
Package client Encapsulates all functions of SSDB 封装ssdb的所有函数
Package client Encapsulates all functions of SSDB 封装ssdb的所有函数
Package conf gossdb config
Package conf gossdb config
Package pool available index queue
Package pool available index queue
Package ssdbclient Establish a connection with SSDB, parse the data and convert it into a regular format
Package ssdbclient Establish a connection with SSDB, parse the data and convert it into a regular format

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL