goframe配置gcfg、gredis、gsession

gomini: gominigomini

gcfg

默认当前目录下config/config.yaml

3e5572d29efe4f34aa53864739e808dd.png

测试用例

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 的社区中寻求帮助。
 

 

 

 

  • 8
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

leijmdas

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值