基本介绍
Redis
客户端由 gredis
组件实现,底层采用了链接池设计。
为了保证通用性和扩展性, gredis
组件采用了 命令通道 的方式执行 Redis
操作。当您不知道命令通道的参数如何传递时,可以参考终端命令行的参数传递。也就是说,所有的操作都和命令行的参数传递保持一致。
使用方式:
安装:
go get -u github.com/gogf/gf/contrib/nosql/redis/v2
引用:
import (
_ "github.com/gogf/gf/contrib/nosql/redis/v2"
// other imported packages.
)
接口文档:
- https://pkg.go.dev/github.com/gogf/gf/v2/database/gredis
- https://github.com/gogf/gf/tree/master/contrib/nosql/redis
简要介绍:
gredis
使用了连接池来进行 Redis
连接管理,通过 Config
配置对象或者 Set*
方法可以对连接池的属性进行管理,通过 Stats
方法可以获取连接池的统计信息。 gredis
使用接口化的设计来解耦对 redis
的底层依赖,通过社区组件的方式实现了 100+
项常用方法,并且提供了分组的方式来管理接口。
gredis.Redis
客户端对象提供了一个 Close
方法,该方法用于关闭 Redis
客户端(同时关闭客户端的连接池),而不是连接对象,开发者基本不会用到,非高级玩家请不要使用。
组件特性
gredis
具有以下显著特性:
- 使用简便,功能强大
- 统一配置组件进行配置
- 提供
100+
项常用方法社区组件实现 - 支持单实例及集群化操作
- 支持
Redis
服务所有特性 - 支持
OpenTelemetry
可观测性 - 支持单例对象、也支持动态创建对象
- 接口化设计,很高的灵活性和扩展性
相关文档
📄️ Redis-配置管理
在GoFrame框架中使用gredis组件进行Redis的配置管理。我们推荐通过配置文件来管理Redis配置,支持单实例和集群化配置。此外,还详细说明了各种配置项的使用方法,并提供了相关的代码示例供参考。
📄️ Redis-使用示例
使用GoFrame框架在Redis中执行基本操作的示例,包括Set/Get、SetEx、HSet/HGetAll和HMSet/HMGet操作。这些代码示例展示了如何通过GoFrame框架的Redis模块进行数据存储和检索,适用于初学者学习如何在GoFrame框架环境中实现Redis功能。本示例同时提醒用户在Redis版本4.0.0及以上中HMSET已弃用,应使用HSET。
📄️ Redis-命令交互
在使用GoFrame框架构建的应用中,通过Redis命令交互以及自动化的方式来序列化和反序列化数据。首先,我们讲解了Do方法的强大扩展性,它允许任何Redis命令的执行。随后我们展示了如何使用map和struct来存取数据,并利用json序列化简化编程。通过GoFrame框架与Redis的结合,开发者可以更加高效地进行数据管理。
📄️ Redis-Conn对象
在GoFrame框架中使用Redis的Conn对象进行长链接操作,如订阅发布等功能。通过使用连接池获取连接对象进行操作,同时注意连接对象超时问题以及使用后的关闭操作。示例代码展示了通过Conn实现订阅发布模式,程序将在终端打印从Redis Server获取的数据。
📄️ Redis-接口化设计
使用GoFrame框架中的gredis实现一个接口化设计的Redis组件,具备强大灵活性和扩展性。通过实现自定义Redis Adapter,可以轻松覆盖默认实现的方法。文中提供了详细示例,展示了如何在自定义Do方法中实现日志打印,并在业务中使用。