1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/go-locks-redis-driver

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

go-locks/distlockRedis 驱动。客户端使用 letsfire/redigo 实现,同时支持 alone cluster sentinel 3种部署模式。本驱动支持互斥锁 mutex 和读写锁 rwmutex。更多使用案例详见 examples

代码实例

Alone模式

var mode = alone.New(
	alone.Addr("192.168.0.110:6379"),
)
var redriver = New(redigo.New(mode))

Sentinel模式

var mode = sentinel.New(
	sentinel.Addrs([]string{"192.168.0.110:26379"}),
)
var redriver = New(redigo.New(mode))

Cluster模式

var mode = cluster.New(
	cluster.Nodes([]string{
        "192.168.0.110:30001", "192.168.0.110:30002", "192.168.0.110:30003",
        "192.168.0.110:30004", "192.168.0.110:30005", "192.168.0.110:30006",
    }),
)
var redriver = New(redigo.New(mode))

所有模式都支持指定多个实例,在过半实例上获取成功才算加锁成功,解决单点故障问题,如下示例

// 至少在2个节点上加锁成功才算获取到锁
var mode1 = alone.New(
	alone.Addr("192.168.0.110:6379"),
)
var mode2 = alone.New(
	alone.Addr("192.168.0.111:6379"),
)
var mode3 = alone.New(
	alone.Addr("192.168.0.112:6379"),
)
var redriver = New(redigo.New(mode1), redigo.New(mode2), redigo.New(mode3))

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Драйвер для Redis распределённой блокировки DistLock. Развернуть Свернуть
Apache-2.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/go-locks-redis-driver.git
git@api.gitlife.ru:oschina-mirror/go-locks-redis-driver.git
oschina-mirror
go-locks-redis-driver
go-locks-redis-driver
master