Documentation ¶
Overview ¶
Package hashmap provides an key/value store.
Package hashmap provides an key/value store.
Index ¶
- Constants
- type Cache
- func (c Cache) Add(k string, x interface{}, d time.Duration) error
- func (c Cache) Decrement(k string, n int64) error
- func (c Cache) DecrementFloat(k string, n float64) error
- func (c Cache) DecrementFloat32(k string, n float32) (float32, error)
- func (c Cache) DecrementFloat64(k string, n float64) (float64, error)
- func (c Cache) DecrementInt(k string, n int) (int, error)
- func (c Cache) DecrementInt16(k string, n int16) (int16, error)
- func (c Cache) DecrementInt32(k string, n int32) (int32, error)
- func (c Cache) DecrementInt64(k string, n int64) (int64, error)
- func (c Cache) DecrementInt8(k string, n int8) (int8, error)
- func (c Cache) DecrementUint(k string, n uint) (uint, error)
- func (c Cache) DecrementUint16(k string, n uint16) (uint16, error)
- func (c Cache) DecrementUint32(k string, n uint32) (uint32, error)
- func (c Cache) DecrementUint64(k string, n uint64) (uint64, error)
- func (c Cache) DecrementUint8(k string, n uint8) (uint8, error)
- func (c Cache) DecrementUintptr(k string, n uintptr) (uintptr, error)
- func (c Cache) Delete(k string)
- func (c Cache) DeleteExpired()
- func (c Cache) Flush()
- func (c Cache) Get(k string) (interface{}, bool)
- func (c Cache) Getall(buff *bytes.Buffer) error
- func (c Cache) Getallkey(buff *bytes.Buffer) (int, error)
- func (c Cache) Increment(k string, n int64) error
- func (c Cache) IncrementFloat(k string, n float64) error
- func (c Cache) IncrementFloat32(k string, n float32) (float32, error)
- func (c Cache) IncrementFloat64(k string, n float64) (float64, error)
- func (c Cache) IncrementInt(k string, n int) (int, error)
- func (c Cache) IncrementInt16(k string, n int16) (int16, error)
- func (c Cache) IncrementInt32(k string, n int32) (int32, error)
- func (c Cache) IncrementInt64(k string, n int64) (int64, error)
- func (c Cache) IncrementInt8(k string, n int8) (int8, error)
- func (c Cache) IncrementUint(k string, n uint) (uint, error)
- func (c Cache) IncrementUint16(k string, n uint16) (uint16, error)
- func (c Cache) IncrementUint32(k string, n uint32) (uint32, error)
- func (c Cache) IncrementUint64(k string, n uint64) (uint64, error)
- func (c Cache) IncrementUint8(k string, n uint8) (uint8, error)
- func (c Cache) IncrementUintptr(k string, n uintptr) (uintptr, error)
- func (c Cache) ItemCount() int
- func (c Cache) Items() map[string]Item
- func (c Cache) Load(r io.Reader) error
- func (c Cache) LoadFile(fname string) error
- func (c Cache) OnEvicted(f func(string, interface{}))
- func (c Cache) Replace(k string, x interface{}, d time.Duration) error
- func (c Cache) Save(w io.Writer) (err error)
- func (c Cache) SaveFile(fname string) error
- func (c Cache) Set(k string, x interface{}, d time.Duration)
- type Dbs
- func (sc Dbs) Add(k string, x interface{}, d time.Duration) error
- func (sc Dbs) Decrement(k string, n int64) error
- func (sc Dbs) DecrementInt64(k string, n int64) (int64, error)
- func (sc Dbs) Delete(k string)
- func (sc Dbs) DeleteExpired()
- func (sc Dbs) Flush()
- func (sc Dbs) Get(k string) (interface{}, bool)
- func (sc Dbs) Getallkey(buff *bytes.Buffer) (int, error)
- func (sc Dbs) Hdel(k, f string)
- func (sc Dbs) Hdestroy(k string)
- func (sc Dbs) Hexist(k, f string) bool
- func (sc Dbs) Hget(k, f string) (interface{}, error)
- func (sc Dbs) Hgetall(k string, buf *bytes.Buffer) error
- func (sc Dbs) Hmget(k string, pairs [][]byte) (data [][]byte, err error)
- func (sc Dbs) Hmset(k string, pairs [][]byte)
- func (sc Dbs) Hset(k, f string, x interface{}, d time.Duration)
- func (sc Dbs) Increment(k string, n int64) error
- func (sc Dbs) IncrementFloat(k string, n float64) error
- func (sc Dbs) IncrementInt64(k string, n int64) (int64, error)
- func (sc Dbs) Items() []map[string]Item
- func (sc Dbs) Replace(k string, x interface{}, d time.Duration) error
- func (sc Dbs) Set(k string, x interface{}, d time.Duration)
- type Hcache
- type Item
Constants ¶
const ( //NoExpiration :For use with functions that take an expiration time. NoExpiration time.Duration = -1 // DefaultExpiration For use with functions that take an expiration time. Equivalent to // passing in the same expiration duration as was given to New() // when the cache was created (e.g. 5 minutes.) DefaultExpiration time.Duration = 0 )
const ( //DefaultCleanUpInterval clean the cache expied items DefaultCleanUpInterval time.Duration = 60 * 1e9 )
const Maxbuckets = 128
Maxbuckets define buckets count.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Cache ¶
type Cache struct {
// contains filtered or unexported fields
}
Cache to be exposed
func New ¶
New :Return a new cache with a given default expiration duration If the expiration duration is less than one (or NoExpiration), the items in the cache never expire (by default), and must be deleted manually.
func (Cache) Add ¶
Add an item to the cache only if an item doesn't already exist for the given key, or if the existing item has expired. Returns an error otherwise.
func (Cache) Decrement ¶
Decrement an item of type int, int8, int16, int32, int64, uintptr, uint, uint8, uint32, or uint64, float32 or float64 by n. Returns an error if the item's value is not an integer, if it was not found, or if it is not possible to decrement it by n. To retrieve the decremented value, use one of the specialized methods, e.g. DecrementInt64.
func (Cache) DecrementFloat ¶
Decrement an item of type float32 or float64 by n. Returns an error if the item's value is not floating point, if it was not found, or if it is not possible to decrement it by n. Pass a negative number to decrement the value. To retrieve the decremented value, use one of the specialized methods, e.g. DecrementFloat64.
func (Cache) DecrementFloat32 ¶
Decrement an item of type float32 by n. Returns an error if the item's value is not an float32, or if it was not found. If there is no error, the decremented value is returned.
func (Cache) DecrementFloat64 ¶
Decrement an item of type float64 by n. Returns an error if the item's value is not an float64, or if it was not found. If there is no error, the decremented value is returned.
func (Cache) DecrementInt ¶
Decrement an item of type int by n. Returns an error if the item's value is not an int, or if it was not found. If there is no error, the decremented value is returned.
func (Cache) DecrementInt16 ¶
Decrement an item of type int16 by n. Returns an error if the item's value is not an int16, or if it was not found. If there is no error, the decremented value is returned.
func (Cache) DecrementInt32 ¶
Decrement an item of type int32 by n. Returns an error if the item's value is not an int32, or if it was not found. If there is no error, the decremented value is returned.
func (Cache) DecrementInt64 ¶
Decrement an item of type int64 by n. Returns an error if the item's value is not an int64;if it was not found,return -n, If there is no error, the decremented value is returned.
func (Cache) DecrementInt8 ¶
Decrement an item of type int8 by n. Returns an error if the item's value is not an int8, or if it was not found. If there is no error, the decremented value is returned.
func (Cache) DecrementUint ¶
Decrement an item of type uint by n. Returns an error if the item's value is not an uint, or if it was not found. If there is no error, the decremented value is returned.
func (Cache) DecrementUint16 ¶
Decrement an item of type uint16 by n. Returns an error if the item's value is not an uint16, or if it was not found. If there is no error, the decremented value is returned.
func (Cache) DecrementUint32 ¶
Decrement an item of type uint32 by n. Returns an error if the item's value is not an uint32, or if it was not found. If there is no error, the decremented value is returned.
func (Cache) DecrementUint64 ¶
Decrement an item of type uint64 by n. Returns an error if the item's value is not an uint64, or if it was not found. If there is no error, the decremented value is returned.
func (Cache) DecrementUint8 ¶
Decrement an item of type uint8 by n. Returns an error if the item's value is not an uint8, or if it was not found. If there is no error, the decremented value is returned.
func (Cache) DecrementUintptr ¶
Decrement an item of type uintptr by n. Returns an error if the item's value is not an uintptr, or if it was not found. If there is no error, the decremented value is returned.
func (Cache) Delete ¶
func (c Cache) Delete(k string)
Delete an item from the cache. Does nothing if the key is not in the cache.
func (Cache) DeleteExpired ¶
func (c Cache) DeleteExpired()
Delete all expired items from the cache.
func (Cache) Increment ¶
Increment an item of type int, int8, int16, int32, int64, uintptr, uint, uint8, uint32, or uint64, float32 or float64 by n. Returns an error if the item's value is not an integer
func (Cache) IncrementFloat ¶
Increment an item of type float32 or float64 by n. Returns an error if the item's value is not floating point, if it was not found, or if it is not possible to increment it by n.
func (Cache) IncrementFloat32 ¶
Increment an item of type float32 by n. Returns an error if the item's value is not an float32, or if it was not found. If there is no error, the incremented value is returned.
func (Cache) IncrementFloat64 ¶
Increment an item of type float64 by n. Returns an error if the item's value is not an float64, or if it was not found. If there is no error, the incremented value is returned.
func (Cache) IncrementInt ¶
Increment an item of type int by n. Returns an error if the item's value is not an int, or if it was not found. If there is no error, the incremented value is returned.
func (Cache) IncrementInt16 ¶
Increment an item of type int16 by n. Returns an error if the item's value is not an int16, or if it was not found. If there is no error, the incremented value is returned.
func (Cache) IncrementInt32 ¶
Increment an item of type int32 by n. Returns an error if the item's value is not an int32, or if it was not found. If there is no error, the incremented value is returned.
func (Cache) IncrementInt64 ¶
Increment an item of type int64 by n. Returns an error if the item's value is not an int64, or if it was not found. If there is no error, the incremented value is returned.
func (Cache) IncrementInt8 ¶
Increment an item of type int8 by n. Returns an error if the item's value is not an int8, or if it was not found. If there is no error, the incremented value is returned.
func (Cache) IncrementUint ¶
Increment an item of type uint by n. Returns an error if the item's value is not an uint, or if it was not found. If there is no error, the incremented value is returned.
func (Cache) IncrementUint16 ¶
Increment an item of type uint16 by n. Returns an error if the item's value is not an uint16, or if it was not found. If there is no error, the incremented value is returned.
func (Cache) IncrementUint32 ¶
Increment an item of type uint32 by n. Returns an error if the item's value is not an uint32, or if it was not found. If there is no error, the incremented value is returned.
func (Cache) IncrementUint64 ¶
Increment an item of type uint64 by n. Returns an error if the item's value is not an uint64, or if it was not found. If there is no error, the incremented value is returned.
func (Cache) IncrementUint8 ¶
Increment an item of type uint8 by n. Returns an error if the item's value is not an uint8, or if it was not found. If there is no error, the incremented value is returned.
func (Cache) IncrementUintptr ¶
Increment an item of type uintptr by n. Returns an error if the item's value is not an uintptr, or if it was not found. If there is no error, the incremented value is returned.
func (Cache) ItemCount ¶
func (c Cache) ItemCount() int
Returns the number of items in the cache. This may include items that have expired, but have not yet been cleaned up. Equivalent to len(c.Items()).
func (Cache) Items ¶
Returns the items in the cache. This may include items that have expired, but have not yet been cleaned up. If this is significant, the Expiration fields of the items should be checked. Note that explicit synchronization is needed to use a cache and its corresponding Items() return value at the same time, as the map is shared.
func (Cache) Load ¶
Add (Gob-serialized) cache items from an io.Reader, excluding any items with keys that already exist (and haven't expired) in the current cache.
NOTE: This method is deprecated in favor of c.Items()
func (Cache) LoadFile ¶
Load and add cache items from the given filename, excluding any items with keys that already exist in the current cache.
NOTE: This method is deprecated in favor of c.Items()
func (Cache) OnEvicted ¶
func (c Cache) OnEvicted(f func(string, interface{}))
Sets an (optional) function that is called with the key and value when an item is evicted from the cache. (Including when it is deleted manually, but not when it is overwritten.) Set to nil to disable.
func (Cache) Save ¶
Write the cache's items (using Gob) to an io.Writer.
NOTE: This method is deprecated in favor of c.Items()
type Dbs ¶
type Dbs struct {
// contains filtered or unexported fields
}
Dbs :This is multiple cashes, namely by preventing write locks of the entire cache when an item is added. As of the time of writing, the overhead of selecting buckets results in cache operations being about twice as slow as for the standard cache with small total cache sizes, and faster for larger ones.
See cache_test.go for a few benchmarks.
func (Dbs) DeleteExpired ¶
func (sc Dbs) DeleteExpired()