xqueueredis

package
v0.4.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 4, 2026 License: BSD-3-Clause-Clear Imports: 6 Imported by: 0

README

xqueue 队列支持 redis驱动

使用 redis 作为队列的驱动,实现消息队列功能。

redis支持的数据中,存在多种数据结构支持队列的实现

list 列表式队列实现

使用redis的list结构实现队列,redis的list结构是一个双向链表,可以从两端插入和删除元素,因此可以实现队列的先进先出特性。

此处采用的为左进右出,即先进先出。

左进:lpush key value 右出:rpop key

// 打开队列
//
//	addr	Redis地址
//	db		Redis数据库
//	pass	Redis密码
//	qname	队列名称
//	push	推送/弹出方向,默认为0(只传1个参数则只修改push方向,超过两个参数则忽略)
//			push[0]为推送方向,0为左侧,1为右侧
//			push[1]为弹出方向,0为右侧,1为左侧
func OpenList(addr string, db int, pass string, qname string, push ...int) xqueue.Queue {}

// 打开先进后出的队列(左进左出,也可以改为 1,0-右进右出)
dev := OpenList("",0,"","<quest_name>",0,1)

Documentation

Overview

根据redis实现的xqueue驱动

Index

Constants

View Source
const ErrorNum = 6

错误重试次数

Variables

This section is empty.

Functions

func OpenList

func OpenList(addr string, db int, pass string, qname string, push ...int) xqueue.Queue

打开队列

addr	Redis地址
db		Redis数据库
pass	Redis密码
qname	队列名称
push	推送/弹出方向,默认为0(只传1个参数则只修改push方向,超过两个参数则忽略)
		push[0]为推送方向,0为左侧,1为右侧
		push[1]为弹出方向,0为右侧,1为左侧

Types

type QueuesList

type QueuesList struct {
	Addr  string // Redis地址
	Qname string // 队列名称
	// contains filtered or unexported fields
}

队列名称信息

func (*QueuesList) Listen

func (c *QueuesList) Listen(f func(dat []byte) error) error

队列监听

func (*QueuesList) Set

func (c *QueuesList) Set(byt []byte) error

队列任务设置

func (*QueuesList) SetDef

func (c *QueuesList) SetDef(dat []byte, t time.Duration) error

设置延时队列监听

func (*QueuesList) Stop added in v0.3.59

func (c *QueuesList) Stop()

关闭队列

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL