presence

package
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: May 14, 2026 License: MIT Imports: 8 Imported by: 0

Documentation

Overview

Package presence provides online session index implementations. Package presence 提供在线状态追踪实现,包含内存和 Redis 两种存储后端。

Package presence — see memory.go for the full package doc. 本文件实现基于 Redis 的在线状态追踪器,适合多节点共享在线状态。

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Memory

func Memory() realtime.Presence

Memory returns an in-process presence index. Memory 返回进程内 presence 实现,只适合单节点或测试场景。

func Redis

func Redis(opts RedisOptions) realtime.Presence

Redis returns a Redis-backed realtime.Presence implementation. Redis 返回基于 Redis 的 presence 实现,适合多节点共享在线状态。

Types

type RedisOptions

type RedisOptions struct {
	// Addr 是 Redis 地址,默认 localhost:6379。
	Addr string
	// Username 是 Redis ACL 用户名。
	Username string
	// Password 是 Redis 密码。
	Password string
	// DB 是 Redis 数据库编号。
	DB int
	// KeyPrefix 是所有 presence key 的前缀。
	KeyPrefix string
	// TTL 是 session 快照租约时间;优先级高于 SessionInfo.ExpiresAt。TTL 和 ExpiresAt 都为空时不设置过期。
	TTL time.Duration
	// Client 是外部注入的 Redis client;传入后 Close 不会关闭它。
	Client *redis.Client
}

RedisOptions configures Redis-backed presence. RedisOptions 配置 Redis presence;可传入现有 client,也可让实现自行创建 client。

Jump to

Keyboard shortcuts

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