Skip to content

Commit

Permalink
init4
Browse files Browse the repository at this point in the history
  • Loading branch information
seefan committed May 7, 2019
1 parent 8ad9f17 commit 6e9d80b
Show file tree
Hide file tree
Showing 26 changed files with 673 additions and 804 deletions.
53 changes: 0 additions & 53 deletions block.go

This file was deleted.

27 changes: 11 additions & 16 deletions client.go → client/client.go
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package gossdb
package client

import (
"errors"
Expand All @@ -16,19 +16,17 @@ const (
//可回收的连接,支持连接池。
//非协程安全,多协程请使用多个连接。
type Client struct {
index int
block *Block
db *ssdb_client.SSDBClient
pool *Connectors
isActive bool
isOpen bool
ssdb_client.SSDBClient
}

//关闭连接,连接关闭后只是放回到连接池,不会物理关闭。
func (c *Client) Close() error {
if c.isActive {
c.pool.closeClient(c)
func NewClient(c *ssdb_client.SSDBClient) *Client {
return &Client{
SSDBClient: *c,
}
return nil
}
func (c *Client) IsOpen() bool {
return c.isOpen
}

//检查连接情况
Expand All @@ -44,7 +42,7 @@ func (c *Client) Ping() bool {
// 返回 re,返回数据库的估计大小, 以字节为单位. 如果服务器开启了压缩, 返回压缩后的大小.
// 返回 err,执行的错误
func (c *Client) DbSize() (re int, err error) {
resp, err := c.db.Do("dbsize")
resp, err := c.Do("dbsize")
if err != nil {
return -1, err
}
Expand All @@ -53,16 +51,13 @@ func (c *Client) DbSize() (re int, err error) {
}
return -1, makeError(resp)
}
func (c *Client) Do(args ...interface{}) ([]string, error) {
return c.db.Do(args...)
}

//返回服务器的信息.
//
// 返回 re,返回数据库的估计大小, 以字节为单位. 如果服务器开启了压缩, 返回压缩后的大小.
// 返回 err,执行的错误
func (c *Client) Info() (re []string, err error) {
resp, err := c.db.Do("info")
resp, err := c.Do("info")
if err != nil {
return nil, err
}
Expand Down
38 changes: 19 additions & 19 deletions hset.go → client/hset.go
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package gossdb
package client

import (
"fmt"
"github.com/seefan/goerr"
)

//设置 hashmap 中指定 key 对应的值内容.
Expand All @@ -13,7 +13,7 @@ import (
func (c *Client) Hset(setName, key string, value interface{}) (err error) {
resp, err := c.Do("hset", setName, key, value)
if err != nil {
return fmt.Errorf("Hset %s/%s error,cause is ", setName, key, err)
return goerr.Errorf(err, "Hset %s/%s error,cause is ", setName, key)
}

if len(resp) > 0 && resp[0] == OK {
Expand All @@ -31,7 +31,7 @@ func (c *Client) Hset(setName, key string, value interface{}) (err error) {
func (c *Client) Hget(setName, key string) (value Value, err error) {
resp, err := c.Do("hget", setName, key)
if err != nil {
return "", fmt.Errorf("Hget %s/%s error,cause is ", setName, key, err)
return "", goerr.Errorf(err, "Hget %s/%s error,cause is ", setName, key)
}
if len(resp) == 2 && resp[0] == OK {
return Value(resp[1]), nil
Expand All @@ -47,7 +47,7 @@ func (c *Client) Hget(setName, key string) (value Value, err error) {
func (c *Client) Hdel(setName, key string) (err error) {
resp, err := c.Do("hdel", setName, key)
if err != nil {
return fmt.Errorf("Hdel %s/%s error,cause is ", setName, key, err)
return goerr.Errorf(err, "Hdel %s/%s error,cause is ", setName, key)
}
if len(resp) > 0 && resp[0] == OK {
return nil
Expand All @@ -64,7 +64,7 @@ func (c *Client) Hdel(setName, key string) (err error) {
func (c *Client) Hexists(setName, key string) (re bool, err error) {
resp, err := c.Do("hexists", setName, key)
if err != nil {
return false, fmt.Errorf("Hexists %s/%s error", setName, key, err)
return false, goerr.Errorf(err, "Hexists %s/%s error", setName, key)
}

if len(resp) == 2 && resp[0] == OK {
Expand All @@ -80,7 +80,7 @@ func (c *Client) Hexists(setName, key string) (re bool, err error) {
func (c *Client) Hclear(setName string) (err error) {
resp, err := c.Do("hclear", setName)
if err != nil {
return fmt.Errorf("Hclear %s error", setName, err)
return goerr.Errorf(err, "Hclear %s error", setName)
}

if len(resp) > 0 && resp[0] == OK {
Expand All @@ -106,7 +106,7 @@ func (c *Client) Hscan(setName string, keyStart, keyEnd string, limit int64, rev
resp, err := c.Do(cmd, setName, keyStart, keyEnd, limit)

if err != nil {
return nil, fmt.Errorf("%s %s %s %s %v error", cmd, setName, keyStart, keyEnd, limit, err)
return nil, goerr.Errorf(err, "%s %s %s %s %v error", cmd, setName, keyStart, keyEnd, limit)
}

if len(resp) > 0 && resp[0] == OK {
Expand Down Expand Up @@ -136,7 +136,7 @@ func (c *Client) HscanArray(setName string, keyStart, keyEnd string, limit int64
resp, err := c.Do(cmd, setName, keyStart, keyEnd, limit)

if err != nil {
return nil, nil, fmt.Errorf("%s %s %s %s %v error", cmd, setName, keyStart, keyEnd, limit, err)
return nil, nil, goerr.Errorf(err, "%s %s %s %s %v error", cmd, setName, keyStart, keyEnd, limit)
}

if len(resp) > 0 && resp[0] == OK {
Expand Down Expand Up @@ -191,7 +191,7 @@ func (c *Client) MultiHset(setName string, kvs map[string]interface{}) (err erro
resp, err := c.Do(args...)

if err != nil {
return fmt.Errorf("MultiHset %s %s error", setName, kvs, err)
return goerr.Errorf(err, "MultiHset %s %s error", setName, kvs)
}

if len(resp) > 0 && resp[0] == OK {
Expand Down Expand Up @@ -219,7 +219,7 @@ func (c *Client) MultiHget(setName string, key ...string) (val map[string]Value,

resp, err := c.Do(args...)
if err != nil {
return nil, fmt.Errorf("MultiHget %s %s error", setName, key, err)
return nil, goerr.Errorf(err, "MultiHget %s %s error", setName, key)
}
size := len(resp)
if size > 0 && resp[0] == OK {
Expand Down Expand Up @@ -249,7 +249,7 @@ func (c *Client) MultiHgetSlice(setName string, key ...string) (keys []string, v
resp, err := c.Do(args...)

if err != nil {
return nil, nil, fmt.Errorf("MultiHgetSlice %s %s error", setName, key, err)
return nil, nil, goerr.Errorf(err, "MultiHgetSlice %s %s error", setName, key)
}
if len(resp) > 0 && resp[0] == OK {
size := len(resp)
Expand Down Expand Up @@ -296,7 +296,7 @@ func (c *Client) MultiHgetAll(setName string) (val map[string]Value, err error)
resp, err := c.Do("hgetall", setName)

if err != nil {
return nil, fmt.Errorf("MultiHgetAll %s error", setName, err)
return nil, goerr.Errorf(err, "MultiHgetAll %s error", setName)
}
size := len(resp)
if size > 0 && resp[0] == OK {
Expand All @@ -319,7 +319,7 @@ func (c *Client) MultiHgetAllSlice(setName string) (keys []string, values []Valu
resp, err := c.Do("hgetall", setName)

if err != nil {
return nil, nil, fmt.Errorf("MultiHgetAllSlice %s error", setName, err)
return nil, nil, goerr.Errorf(err, "MultiHgetAllSlice %s error", setName)
}
if len(resp) > 0 && resp[0] == OK {
size := len(resp)
Expand Down Expand Up @@ -350,7 +350,7 @@ func (c *Client) MultiHdel(setName string, key ...string) (err error) {
}
resp, err := c.Do(args...)
if err != nil {
return fmt.Errorf("MultiHdel %s %s error", setName, key, err)
return goerr.Errorf(err, "MultiHdel %s %s error", setName, key)
}

if len(resp) > 0 && resp[0] == OK {
Expand Down Expand Up @@ -378,7 +378,7 @@ func (c *Client) MultiHdelArray(setName string, key []string) (err error) {
func (c *Client) Hlist(nameStart, nameEnd string, limit int64) ([]string, error) {
resp, err := c.Do("hlist", nameStart, nameEnd, limit)
if err != nil {
return nil, fmt.Errorf("Hlist %s %s %v error", nameStart, nameEnd, limit, err)
return nil, goerr.Errorf(err, "Hlist %s %s %v error", nameStart, nameEnd, limit)
}

if len(resp) > 0 && resp[0] == OK {
Expand All @@ -405,7 +405,7 @@ func (c *Client) Hincr(setName, key string, num int64) (val int64, err error) {
resp, err := c.Do("hincr", setName, key, num)

if err != nil {
return -1, fmt.Errorf("Hincr %s error", key, err)
return -1, goerr.Errorf(err, "Hincr %s error", key)
}
if len(resp) == 2 && resp[0] == OK {
return Value(resp[1]).Int64(), nil
Expand All @@ -423,7 +423,7 @@ func (c *Client) Hsize(setName string) (val int64, err error) {
resp, err := c.Do("hsize", setName)

if err != nil {
return -1, fmt.Errorf("Hsize %s error", setName, err)
return -1, goerr.Errorf(err, "Hsize %s error", setName)
}
if len(resp) == 2 && resp[0] == OK {
return Value(resp[1]).Int64(), nil
Expand All @@ -442,7 +442,7 @@ func (c *Client) Hsize(setName string) (val int64, err error) {
func (c *Client) Hkeys(setName, keyStart, keyEnd string, limit int64) ([]string, error) {
resp, err := c.Do("hkeys", setName, keyStart, keyEnd, limit)
if err != nil {
return nil, fmt.Errorf("Hkeys %s %s %s %v error", setName, keyStart, keyEnd, limit, err)
return nil, goerr.Errorf(err, "Hkeys %s %s %s %v error", setName, keyStart, keyEnd, limit)
}

if len(resp) > 0 && resp[0] == OK {
Expand Down
Loading

0 comments on commit 6e9d80b

Please sign in to comment.