forked from all_user/stat_center
Initial commit
This commit is contained in:
@@ -0,0 +1,93 @@
|
||||
package redis
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"time"
|
||||
|
||||
goredis "github.com/go-redis/redis"
|
||||
)
|
||||
|
||||
func (m *Manager) Get(key string) (*string, error) {
|
||||
if key == "" {
|
||||
return nil, errors.New("key is empty")
|
||||
}
|
||||
data, err := m.Client().Get(key).Result()
|
||||
if err != nil {
|
||||
if err == goredis.Nil {
|
||||
return nil, nil
|
||||
}
|
||||
return nil, err
|
||||
} else {
|
||||
return &data, nil
|
||||
}
|
||||
}
|
||||
|
||||
func (m *Manager) Set(key string, value interface{}, expire time.Duration) error {
|
||||
if err := m.Client().Set(key, value, expire).Err(); err != nil {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *Manager) Del(keys ...string) error {
|
||||
if err := m.Client().Del(keys...).Err(); err != nil {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *Manager) GetBytes(key string) ([]byte, error) {
|
||||
cmd := m.Client().Get(key)
|
||||
if err := cmd.Err(); err != nil {
|
||||
return []byte{}, err
|
||||
}
|
||||
return cmd.Bytes()
|
||||
}
|
||||
|
||||
func (m *Manager) SAdd(key string, members ...interface{}) error {
|
||||
if err := m.Client().SAdd(key, members...).Err(); err != nil {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *Manager) Exists(keys ...string) (bool, error) {
|
||||
cmd := m.Client().Exists(keys...)
|
||||
if err := cmd.Err(); err != nil {
|
||||
return false, err
|
||||
}
|
||||
return cmd.Val() > 0, nil
|
||||
}
|
||||
|
||||
func (m *Manager) Expire(key string, expire time.Duration) error {
|
||||
if err := m.Client().Expire(key, expire).Err(); err != nil {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *Manager) Keys(pattern string) ([]string, error) {
|
||||
list := m.Client().Keys(pattern)
|
||||
if err := list.Err(); err != nil {
|
||||
return []string{}, err
|
||||
}
|
||||
return list.Val(), nil
|
||||
|
||||
}
|
||||
|
||||
func (m *Manager) Incr(pattern string) (int64, error) {
|
||||
val, err := m.Client().Incr(pattern).Result()
|
||||
if err != nil {
|
||||
return 0, err
|
||||
}
|
||||
return val, nil
|
||||
}
|
||||
|
||||
//获取key的剩余生存时间
|
||||
func (m *Manager) TTL(pattern string) time.Duration {
|
||||
durCmd := m.Client().TTL(pattern)
|
||||
if durCmd != nil {
|
||||
return durCmd.Val()
|
||||
}
|
||||
return 0
|
||||
}
|
||||
Reference in New Issue
Block a user