Documentation
¶
Index ¶
- Constants
- func CreateStorageForGorp(dbMap *gorp.DbMap) (storage.Storage, error)
- func GetGorpLockFactory(ctx context.Context, dbMap *gorp.DbMap) (*storage_lock_factory.StorageLockFactory[*sql.DB], error)
- func NewGorpLock(ctx context.Context, dbMap *gorp.DbMap, lockId string) (*storage_lock.StorageLock, error)
- func NewGorpLockWithOptions(ctx context.Context, dbMap *gorp.DbMap, ...) (*storage_lock.StorageLock, error)
- type GorpConnectionManager
- type GorpLockFactory
Constants ¶
const GorpConnectionManagerName = "gorp-connection-manager"
Variables ¶
This section is empty.
Functions ¶
func CreateStorageForGorp ¶
CreateStorageForGorp 尝试从gorp创建Storage
func GetGorpLockFactory ¶
func GetGorpLockFactory(ctx context.Context, dbMap *gorp.DbMap) (*storage_lock_factory.StorageLockFactory[*sql.DB], error)
GetGorpLockFactory @Description: 从gorp创建一个锁工厂,后续可以拿着这个锁工厂再创建 @param ctx 超时控制之类的 @param dbMap gorp对应的dbMap @return *storage_lock_factory.StorageLockFactory[*sql.DB] @return error
func NewGorpLock ¶
func NewGorpLock(ctx context.Context, dbMap *gorp.DbMap, lockId string) (*storage_lock.StorageLock, error)
NewGorpLock @Description: 基于gorp创建一把分布式锁 @param ctx @param dbMap gorp的map,用于进行各种gorp的操作,锁操作需要用到这些api @param lockId 要创建的锁的ID,ID相同即被认为是同一把锁,同一把锁会互相排斥 @return *storage_lock.StorageLock @return error
func NewGorpLockWithOptions ¶
func NewGorpLockWithOptions(ctx context.Context, dbMap *gorp.DbMap, options *storage_lock.StorageLockOptions) (*storage_lock.StorageLock, error)
NewGorpLockWithOptions @Description: @param ctx @param dbMap @param options @return *storage_lock.StorageLock @return error
Types ¶
type GorpConnectionManager ¶
type GorpConnectionManager struct {
// contains filtered or unexported fields
}
GorpConnectionManager 复用gorp的数据库连接(https://github.com/go-gorp/gorp)
func NewGorpConnectionManager ¶
func NewGorpConnectionManager(dbMap *gorp.DbMap) *GorpConnectionManager
func (*GorpConnectionManager) Name ¶
func (x *GorpConnectionManager) Name() string
type GorpLockFactory ¶
type GorpLockFactory struct {
*storage_lock_factory.StorageLockFactory[*sql.DB]
// contains filtered or unexported fields
}
GorpLockFactory gorp的锁工厂,可以创建好多锁啥的
func NewGorpLockFactory ¶
func NewGorpLockFactory(dbMap *gorp.DbMap) (*GorpLockFactory, error)
NewGorpLockFactory 从*gorp.DbMap中创建