gomini: gominigomini
gcfg
默认当前目录下config/config.yaml
测试用例
func Test001_cfg(t *testing.T) {
var ctx = gctx.New()
fmt.Println(g.Cfg().Get(ctx, "viewpath"))
fmt.Println(g.Cfg().Get(ctx, "database.default.0.role"))
}
结果
=== RUN Test001_cfg
/home/www/templates1/ <nil>
master <nil>
--- PASS: Test001_cfg (0.01s)
PASS
gredis配置
redis: # 单实例配置示例1 default: address: huawei.akunlong.top:6379 db: 0 pass: 123456
用例:
func Test002_gredis(t *testing.T) { gredis.SetConfig(&config, group) var ctx = gctx.New() cfg = ichubconfig.Default() cfg.Read() _, err := g.Redis(group).Set(ctx, "key", cfg.ReadIchubWebClient()) if err != nil { g.Log().Fatal(ctx, err) } value, err := g.Redis(group).Get(ctx, "key") if err != nil { g.Log().Fatal(ctx, err) } fmt.Println("value=", value.String()) }
结果:
value= {"etcd_host":"huawei.akunlong.top:2379","server_name":"web.server.com","test_url":"http://localhost:88","web_timeout":""}
--- PASS: Test002_gredis (0.08s)
gsession配置:
var redisConfig = &gredis.Config{
Address: "huawei.akunlong.top:6379",
Db: 9,
Pass: "123456",
}
用例
func Test010_gsession_redis(t *testing.T) { redis, err1 := gredis.New(redisConfig) if err1 != nil { logrus.Error(err1) } var cfg = ichubconfig.Default() cfg.Read() storage := gsession.NewStorageRedis(redis) manager1 := gsession.New(time.Second, storage) s1 := manager1.New(gctx.New()) fmt.Println(s1.Set("key", cfg.ReadIchubRedis()) == nil) fmt.Println(s1.Get("key", "val")) }
结果:
2024-07-21 10:14:33.437 [INFO] D:\go-ichub\go\gomini/config/app.yml
true
{
"addr": "huawei.akunlong.top:6379",
"password": "123456",
"DB": 0
} <nil>
--- PASS: Test010_gsession_redis (0.00s)
GoFrame 的 gcfg 模块是一个用于配置文件管理的组件,它支持多种格式的配置文件,如 JSON、YAML、TOML、INI 等。以下是如何使用 gcfg 模块的基本步骤:
1. 引入模块:首先,确保你的项目中已经引入了 GoFrame 框架和 gcfg 模块。
2. 配置文件:创建一个配置文件,例如 config.yaml 。
3. 加载配置:使用 gcfg 来加载配置文件。
4. 访问配置:通过 gcfg 提供的 API 来访问配置文件中的值。
下面是一个简单的示例:
package main
import (
"fmt"
"github.com/gogf/gf/frame/g"
"github.com/gogf/gf/os/gcfg"
)
func main() {
// 配置文件路径
configPath := "config.yaml"
// 加载配置文件
if err := gcfg.Load(configPath, true); err != nil {
panic(err)
}
// 访问配置项
// 假设配置文件中有一个名为 "database" 的配置项
databaseConfig := gcfg.Get("database")
fmt.Println("Database Config:", databaseConfig)
// 访问配置项的子项
// 假设 "database" 下有一个 "host" 配置项
host := gcfg.Get("database.host")
fmt.Println("Database Host:", host)
// 访问配置项的数组
// 假设 "database" 下有一个 "users" 数组配置项
users := gcfg.Get("database.users")
fmt.Println("Database Users:", users)
}
配置文件 config.yaml 示例:
database:
host: localhost
port: 3306
users:
- user1
- user2
请注意,这个示例假设你已经正确配置了 GoFrame 环境,并且 gcfg 模块已经安装在你的项目中。在实际使用中,你可能需要根据项目需求配置不同的配置文件路径和格式。
如果你需要更详细的配置信息或者遇到具体问题,可以查看 GoFrame 的官方文档或者在 GoFrame 的社区中寻求帮助。
GoFrame 是一个模块化、高性能、企业级的 Go 应用开发框架。 gsession 是 GoFrame 中用于处理 HTTP 会话的模块。以下是使用 gsession 的基本步骤:
1. 引入模块:首先,确保你的项目中已经引入了 GoFrame 框架和 gsession 模块。
2. 配置会话中间件:在 GoFrame 的中间件配置中添加 gsession 中间件。
3. 设置会话存储:选择并配置会话存储方式,例如内存、Redis、文件等。
4. 使用会话:在处理 HTTP 请求时,使用 gsession API 来设置、获取和删除会话数据。
下面是一个简单的示例,展示如何在 GoFrame 中使用 gsession :
package main
import (
"github.com/gogf/gf/frame/g"
"github.com/gogf/gf/net/ghttp"
"github.com/gogf/gf/os/gsession"
)
func main() {
s := g.Server()
// 配置会话中间件
s.Use(gsession.Middleware)
// 配置会话存储,这里以内存为例
gsession.Config().SetStore("memory")
// 定义路由
s.BindHandler("/set", func(r *ghttp.Request) {
// 设置会话
gsession.Set(r, "key", "value")
r.Response.Writeln("Session set")
})
s.BindHandler("/get", func(r *ghttp.Request) {
// 获取会话
value := gsession.Get(r, "key")
r.Response.Writeln("Session value:", value)
})
s.BindHandler("/del", func(r *ghttp.Request) {
// 删除会话
gsession.Del(r, "key")
r.Response.Writeln("Session deleted")
})
// 启动服务
s.Run()
}
请注意,这个示例假设你已经正确配置了 GoFrame 环境,并且 gsession 模块已经安装在你的项目中。在实际使用中,你可能需要根据项目需求配置不同的会话存储方式,并且可能需要处理更复杂的会话逻辑。
如果你需要更详细的配置信息或者遇到具体问题,可以查看 GoFrame 的官方文档或者在 GoFrame 的社区中寻求帮助。