gossdb ssdb的go驱动 gossdb

xuanbao • 2205 次点击    
这是一个分享于 的项目,其中的信息可能已经有所发展或是发生改变。
gossdb 是 [ssdb](http://www.oschina.net/p/ssdb) 的 go 驱动 * 继承官方连接方式。已支持超过99%的官方命令。 * 支持连接池。 * 已支持 set 相关方法 * 已支持 hashmap 相关方法 * 已支持 queue 相关方法 * 已支持返回值类型转换,可以方便的把从ssdb中取到的内容转化为指定类型。 连接池已支持如下参数 * GetClientTimeout int 获取连接超时时间,单位为秒,默认为 5 * MaxPoolSize int 最大连接池个数,默认为 20 * MinPoolSize int 最小连接池数,默认为 5 * AcquireIncrement int 当连接池中的连接耗尽的时候一次同时获取的连接数。默认值: 5 * MaxIdleTime int 最大空闲时间,指定秒内未使用则连接被丢弃。若为0则永不丢弃。默认值: 0 * MaxWaitSize int 最大等待数目,当连接池满后,新建连接将排除等待池中连接释放,本值限制最大等待的数量。默认值: 1000 * HealthSecond int 健康检查时间隔,单位为秒。默认值: 300。通过ping方法维护连接的可用性,并定期回收长期不用的连接。 示例代码: <pre class="brush:cpp ;toolbar: true; auto-links: false;">pool, err := gossdb.NewPool(&amp;gossdb.Config{     Host:             &#34;127.0.0.1&#34;,     Port:             6380,     MinPoolSize:      5,     MaxPoolSize:      50,     AcquireIncrement: 5, }) if err != nil {     log.Fatal(err)     return } c, err := pool.NewClient() if err != nil {     log.Println(err.Error())     return } defer c.Close() c.Set(&#34;test&#34;,&#34;hello world.&#34;) re, err := c.Get(&#34;test&#34;) if err != nil {     log.Println(err) } else {     log.Println(re, &#34;is get&#34;) } //设置10 秒过期 c.Set(&#34;test1&#34;,1225,10) //取出数据,并指定类型为 int re, err = c.Get(&#34;test1&#34;) if err != nil {     log.Println(err) } else {     log.Println(re.Int(), &#34;is get&#34;) }</pre>
授权协议:
GPL
开发语言:
Google Go 查看源码»
操作系统:
跨平台
2205 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传