Documentation
¶
Index ¶
- type Bucket
- type HashFunc
- type MutexBucket
- type MutexBucketItem
- type Order
- type OrderInterface
- type OrderSync
- type SyncMap
- func (sm *SyncMap[K, V]) Atom(handle func(m map[K]V))
- func (sm *SyncMap[K, V]) Clear()
- func (sm *SyncMap[K, V]) ClearHandle(handle func(key K, value V))
- func (sm *SyncMap[K, V]) Delete(key K)
- func (sm *SyncMap[K, V]) DeleteExist(key K) bool
- func (sm *SyncMap[K, V]) DeleteGet(key K) V
- func (sm *SyncMap[K, V]) DeleteGetExist(key K) (V, bool)
- func (sm *SyncMap[K, V]) Exist(key K) bool
- func (sm *SyncMap[K, V]) Get(key K) V
- func (sm *SyncMap[K, V]) GetExist(key K) (V, bool)
- func (sm *SyncMap[K, V]) Keys() []K
- func (sm *SyncMap[K, V]) Map() map[K]V
- func (sm *SyncMap[K, V]) MarshalJSON() ([]byte, error)
- func (sm *SyncMap[K, V]) Range(handle func(key K, value V) bool)
- func (sm *SyncMap[K, V]) Set(key K, value V)
- func (sm *SyncMap[K, V]) Size() int
- func (sm *SyncMap[K, V]) Slice() []V
- func (sm *SyncMap[K, V]) UnmarshalJSON(bytes []byte) error
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Bucket ¶ added in v0.6.0
type Bucket[K constraints.Hash, V any] struct { // contains filtered or unexported fields }
Bucket 并发安全的基于哈希桶实现的字典结构
func NewStringBucket ¶ added in v0.6.0
type MutexBucket ¶ added in v0.6.0
type MutexBucket[K constraints.Hash, V any] struct { // contains filtered or unexported fields }
MutexBucket 基于 sync 包实现的并发安全的哈希桶
func NewMutexBucket ¶ added in v0.6.0
func NewMutexBucket[K constraints.Hash, V any](bucketSize int, hashFunc HashFunc[K]) *MutexBucket[K, V]
func (*MutexBucket[K, V]) Clear ¶ added in v0.6.0
func (b *MutexBucket[K, V]) Clear()
func (*MutexBucket[K, V]) Del ¶ added in v0.6.0
func (b *MutexBucket[K, V]) Del(key K)
func (*MutexBucket[K, V]) Get ¶ added in v0.6.0
func (b *MutexBucket[K, V]) Get(key K) (V, bool)
func (*MutexBucket[K, V]) GetBucket ¶ added in v0.6.0
func (b *MutexBucket[K, V]) GetBucket(key K) *MutexBucketItem[K, V]
func (*MutexBucket[K, V]) Len ¶ added in v0.6.0
func (b *MutexBucket[K, V]) Len() int
func (*MutexBucket[K, V]) Set ¶ added in v0.6.0
func (b *MutexBucket[K, V]) Set(key K, value V)
type MutexBucketItem ¶ added in v0.6.0
type MutexBucketItem[K constraints.Hash, V any] struct { sync.RWMutex // contains filtered or unexported fields }
func (*MutexBucketItem[K, V]) Get ¶ added in v0.6.0
func (i *MutexBucketItem[K, V]) Get(key K) (value V, exists bool)
func (*MutexBucketItem[K, V]) GetAndDel ¶ added in v0.6.0
func (i *MutexBucketItem[K, V]) GetAndDel(key K) (value V, exists bool)
func (*MutexBucketItem[K, V]) GetOrSet ¶ added in v0.6.0
func (i *MutexBucketItem[K, V]) GetOrSet(key K, val V) (value V, exists bool)
func (*MutexBucketItem[K, V]) NoneLockGetAndDel ¶ added in v0.6.0
func (i *MutexBucketItem[K, V]) NoneLockGetAndDel(key K) (value V, exists bool)
type Order ¶ added in v0.6.0
type Order[K constraints.Hash, V any] struct { // contains filtered or unexported fields }
type OrderInterface ¶ added in v0.6.0
type OrderSync ¶ added in v0.6.0
type OrderSync[K constraints.Hash, V any] struct { // contains filtered or unexported fields }
func NewOrderSync ¶ added in v0.6.0
func NewOrderSync[K constraints.Hash, V any]() *OrderSync[K, V]
func (*OrderSync[K, V]) Add ¶ added in v0.6.0
func (o *OrderSync[K, V]) Add(key K, value V)
Add 添加元素
type SyncMap ¶
type SyncMap[K comparable, V any] struct { // contains filtered or unexported fields }
SyncMap 是基于 sync.RWMutex 实现的线程安全的 map
- 适用于要考虑并发读写但是并发读写的频率不高的情况
func NewSyncMap ¶
func NewSyncMap[K comparable, V any](source ...map[K]V) *SyncMap[K, V]
NewSyncMap 创建一个 SyncMap
func (*SyncMap[K, V]) ClearHandle ¶
func (sm *SyncMap[K, V]) ClearHandle(handle func(key K, value V))
ClearHandle 清空并处理
func (*SyncMap[K, V]) DeleteExist ¶
DeleteExist 删除一个值并返回是否存在
func (*SyncMap[K, V]) DeleteGetExist ¶
DeleteGetExist 删除一个值并返回是否存在
func (*SyncMap[K, V]) MarshalJSON ¶
func (*SyncMap[K, V]) UnmarshalJSON ¶
Click to show internal directories.
Click to hide internal directories.