Documentation
¶
Index ¶
- type CacheType
- type LevelDB
- func (l *LevelDB) Close() error
- func (l *LevelDB) Del(key string) error
- func (l *LevelDB) Exists(key string) bool
- func (l *LevelDB) Get(key string) ([]byte, error)
- func (l *LevelDB) GetS(key string) (string, error)
- func (l *LevelDB) Set(key string, value []byte) error
- func (l *LevelDB) SetS(key string, value string) error
- func (l *LevelDB) XDecr(key string) (int64, error)
- func (l *LevelDB) XDecrBy(key string, decrement int64) (int64, error)
- func (l *LevelDB) XExpire(key string, expires time.Duration) error
- func (l *LevelDB) XExpireAt(key string, tm time.Time) error
- func (l *LevelDB) XExpireSec(key string, seconds int64) error
- func (l *LevelDB) XGet(key string) ([]byte, error)
- func (l *LevelDB) XGetS(key string) (string, error)
- func (l *LevelDB) XIncr(key string) (int64, error)
- func (l *LevelDB) XIncrBy(key string, increment int64) (int64, error)
- func (l *LevelDB) XSet(key string, value []byte) error
- func (l *LevelDB) XSetEx(key string, value []byte, expires time.Duration) error
- func (l *LevelDB) XSetExS(key string, value string, expires time.Duration) error
- func (l *LevelDB) XSetExSec(key string, value []byte, seconds int64) error
- func (l *LevelDB) XSetExSecS(key string, value string, seconds int64) error
- func (l *LevelDB) XSetS(key string, value string) error
- func (l *LevelDB) XTTL(key string) (int64, error)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type LevelDB ¶
type LevelDB struct {
// contains filtered or unexported fields
}
LevelDB 结构体封装了 goleveldb 的基本操作
func NewBloomFilter ¶
NewBloomFilter 创建一个带布隆过滤器的 LevelDB 实例 bits 参数指定布隆过滤器的大小,通常设置为 10 即可 示例:
db, err := NewBloomFilter("./data", 10) if err != nil { log.Fatal(err) } defer db.Close()
func NewLevelDB ¶
NewLevelDB 创建一个新的 LevelDB 实例 示例:
db, err := NewLevelDB("./data") if err != nil { log.Fatal(err) } defer db.Close()
func (*LevelDB) Del ¶ added in v0.3.0
Del 删除指定的key 示例:
err := db.Del("key") if err != nil { log.Fatal(err) }
func (*LevelDB) Exists ¶ added in v0.3.0
Exists 检查key是否存在 示例:
if db.Exists("key") { fmt.Println("key存在") } else { fmt.Println("key不存在") }
func (*LevelDB) Get ¶
Get 获取指定key的值 示例:
value, err := db.Get("key") if err != nil { log.Fatal(err) } fmt.Printf("值: %s\n", value)
func (*LevelDB) GetS ¶ added in v0.2.2
GetS 获取指定key的字符串值 示例:
value, err := db.GetS("key") if err != nil { log.Fatal(err) } fmt.Printf("字符串值: %s\n", value)
func (*LevelDB) Set ¶ added in v0.3.0
Set 设置key的值 示例:
err := db.Set("key", []byte("value")) if err != nil { log.Fatal(err) }
func (*LevelDB) SetS ¶ added in v0.3.0
SetS 设置key的字符串值 示例:
err := db.SetS("key", "value") if err != nil { log.Fatal(err) }
func (*LevelDB) XDecr ¶ added in v0.2.2
XDecr 将key中存储的数字值减1 该方法是并发安全的 示例:
value, err := db.XDecr("counter") if err != nil { log.Fatal(err) } fmt.Printf("新值: %d\n", value)
func (*LevelDB) XDecrBy ¶ added in v0.2.2
XDecrBy 将key中存储的数字值减少指定的值 该方法是并发安全的 示例:
value, err := db.XDecrBy("counter", 10) if err != nil { log.Fatal(err) } fmt.Printf("新值: %d\n", value)
func (*LevelDB) XExpire ¶ added in v0.2.2
XExpire 设置key的过期时间 示例:
err := db.XExpire("key", time.Hour) if err != nil { log.Fatal(err) }
func (*LevelDB) XExpireAt ¶ added in v0.4.0
XExpireAt 设置key的过期时间点 该方法是并发安全的 示例:
err := db.XExpireAt("key", time.Now().Add(time.Hour)) if err != nil { log.Fatal(err) }
func (*LevelDB) XExpireSec ¶ added in v0.4.0
XExpireSec 设置key的过期时间(秒) 示例:
err := db.XExpireSec("key", 3600) if err != nil { log.Fatal(err) }
func (*LevelDB) XGet ¶ added in v0.2.2
XGet 获取带过期时间的缓存数据 当数据过期时会自动删除并返回nil 示例:
value, err := db.XGet("key") if err != nil { log.Fatal(err) } if value == nil { fmt.Println("key不存在或已过期") } else { fmt.Printf("值: %s\n", value) }
func (*LevelDB) XGetS ¶ added in v0.4.0
XGetS 获取带过期时间的字符串数据 示例:
value, err := db.XGetS("key") if err != nil { log.Fatal(err) } if value == "" { fmt.Println("key不存在或已过期") } else { fmt.Printf("字符串值: %s\n", value) }
func (*LevelDB) XIncr ¶ added in v0.2.2
XIncr 将key中存储的数字值加1 该方法是并发安全的 示例:
value, err := db.XIncr("counter") if err != nil { log.Fatal(err) } fmt.Printf("新值: %d\n", value)
func (*LevelDB) XIncrBy ¶ added in v0.2.2
XIncrBy 将key中存储的数字值增加指定的值 该方法是并发安全的 示例:
value, err := db.XIncrBy("counter", 10) if err != nil { log.Fatal(err) } fmt.Printf("新值: %d\n", value)
func (*LevelDB) XSet ¶ added in v0.2.2
XSet 设置带过期时间的缓存数据 示例:
err := db.XSet("key", []byte("value")) if err != nil { log.Fatal(err) }
func (*LevelDB) XSetEx ¶ added in v0.2.2
XSetEx 设置带过期时间的缓存数据 (使用 time.Duration) 示例:
err := db.XSetEx("key", []byte("value"), time.Hour) if err != nil { log.Fatal(err) }
func (*LevelDB) XSetExS ¶ added in v0.4.0
XSetExS 设置带过期时间的字符串数据 (使用 time.Duration) 示例:
err := db.XSetExS("key", "value", time.Hour) if err != nil { log.Fatal(err) }
func (*LevelDB) XSetExSec ¶ added in v0.4.0
XSetExSec 设置带过期时间的缓存数据(使用秒数) 示例:
err := db.XSetExSec("key", []byte("value"), 3600) if err != nil { log.Fatal(err) }
func (*LevelDB) XSetExSecS ¶ added in v0.4.0
XSetExSecS 设置带过期时间的字符串数据(使用秒数) 示例:
err := db.XSetExSecS("key", "value", 3600) if err != nil { log.Fatal(err) }
func (*LevelDB) XSetS ¶ added in v0.4.0
XSetS 设置带过期时间的字符串数据 示例:
err := db.XSetS("key", "value") if err != nil { log.Fatal(err) }
func (*LevelDB) XTTL ¶ added in v0.2.2
XTTL 返回key的剩余生存时间(秒) 返回值说明:
-2: key不存在(包括已过期的情况) -1: key存在但未设置过期时间 >=0: key的剩余生存时间(秒)
示例:
ttl, err := db.XTTL("key") if err != nil { log.Fatal(err) } switch ttl { case -2: fmt.Println("key不存在") case -1: fmt.Println("key未设置过期时间") default: fmt.Printf("剩余生存时间: %d秒\n", ttl) }