【开源】Goravel(Golang Web 框架)- 新增缓存模块

发布于:2024-10-24 编辑:匿名 来源:网络

关于Goravel Goravel 是一个功能齐全、扩展性好的Web 应用框架。作为一个入门脚手架,帮助Golang开发者快速构建自己的应用程序。

项目地址:star and issues :) 缓存模块介绍 Goravel 提供了一个可扩展的缓存模块。该模块可以使用facades.Cache进行操作。

配置 所有自定义配置都在 config/cache.php 中完成。允许配置不同的缓存驱动程序。

默认使用Redis。还可以自定义驱动,进入配置文件查看。

可用的缓存驱动名称 描述 redisRedis驱动 自定义 自定义驱动缓存 使用 从缓存中获取数据 代码语言: txt copy value :=facades.Cache.Get("goravel", func() interface{} {return "default"}) You可以传递一个 func 作为默认值。如果指定的数据在缓存中不存在,则返回func的结果。

传递闭包方法允许您从数据库或其他外部服务获取默认值。注意闭包结构 func() interface{}。

代码语言:txt 复制值 :=facades.Cache.Get("goravel", func() interface{} {return "default"}) 检查缓存项是否存在 代码语言:txt 复制值 :=facades.Cache.Has ("goravel") 获取和存储 有时你可能想从缓存中获取一个数据,而当请求的缓存项不存在时,程序可以为你存储一个默认值。代码语言:txt复制值,err :=facades.Cache.Remember("goravel", 5 * time.Second, func() interface{} {return "goravel"}) 如果缓存中不存在你想要的数据,传递给 Remember 方法的闭包将被执行,其结果返回并放置在缓存中。

您可以使用 RememberForever 方法从缓存中获取数据或永久存储数据: 代码语言:txt copy value, err :=facades.Cache.RememberForever("goravel", func() interface{} {return "default"})获取和删除 代码语言:txt copy value :=facades.Cache.Pull("goravel", "default") 将数据存储在缓存中 代码语言:txt copy err :=facades.Cache.Put("goravel", "value" , 5 * time.Second) 如果缓存过期时间设置为0,缓存将永久有效: 代码语言:txt copy err:=facades.Cache.Put("goravel", "value", 0) 只存储不可用的数据 Add 方法将只存储缓存中尚未存在的数据。如果存储成功则返回 true,否则返回 false: 代码语言:txt copy res :=facades.Cache.Add("goravel", "value", 5 * time.Second) 数据永久存储 Forever 方法可用于持久存储在缓存中的数据。

因为这些数据不会过期,所以必须通过 Forget 方法手动从缓存中删除它们: 代码语言:txt 复制 res :=facades.Cache.Forever("goravel", "value") 从缓存中删除数据 代码语言: txt Copy res :=facades.Cache.Forget("goravel") 您可以使用 Flush 方法清除所有缓存: 代码语言:txt Copy res :=facades.Cache.Flush() 如果需要,可以添加自定义缓存驱动配置要定义一个完全自定义的驱动程序,可以在 config/cache.php 配置文件中指定自定义驱动程序类型。然后包含一个via选项来实现framework\contracts\cache\Store结构: 代码语言:txt copy //config/cache.php "stores": map[string]interface{}{"redis": map[string]interface {}{"driver": "redis","connection": "default",},"custom": map[string]接口{}{"driver": "custom","via": Logger{},/ /自定义驱动},},编写驱动实现framework\contracts\cache\Store接口,配置到config/cache.go。

文件可以存储在app/extensions文件夹中(可以修改)。代码语言:txt复制//framework\contracts\cache\Storepackage cacheimport "time"type Store interface {//Get 通过key从缓存中检索一个项目。

Get(key string, defaults interface{}) interface{}//Has确定缓存中是否存在某个项目。Has(key string) bool//Put 在给定的秒数内将项目存储在缓存中。

Put(key string, value interface{},秒 time.Duration) error//Pull从缓存中检索一个项目并删除它。Pull(key string, defaults interface{}) interface{}//Add 如果键不存在,则在缓存中存储一??个项目。

Add(key string, value interface{},秒time.Duration) bool//Remember 从缓存中获取一项,或者执行给定的 Closure 并存储结果。Remember(key string, ttl time.Duration, callback func() interface{}) (interface{}, error) //RememberForever 从缓存中获取一个项目,或者执行给定的 Closure 并永远存储结果。

RememberForever(key string, callback func() interface{}) (interface{}, error)//Forever 无限期地在缓存中存储一??个项目。Forever(key string, value interface{}) bool//Forget 从缓存中删除一个项目。

Forget(key string) bool//Flush 删除所有项目来自缓存。

【开源】Goravel(Golang Web 框架)- 新增缓存模块

站长声明

版权声明:本文内容由互联网用户自发贡献,本站不拥有所有权,不承担相关法律责任。如果发现本站有涉嫌抄袭的内容,欢迎发送邮件 举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。

标签:

相关文章

  • ACM清洁平台瞄准chiplet行业

    ACM清洁平台瞄准chiplet行业

    半导体芯科技编译 ACM Research推出ULTRA C v真空清洁工具,以满足chiplet和其他先进3D封装结构独特的助焊剂去除要求。 新设备是与几家主要客户合作开发的,展示了优异的工艺性能,清洗后无助焊剂残留。 ACM还宣布已收到一家中国大型制造商的设备采购订单,预计将于今年第一

    06-06

  • 三星开始用AI设计未来旗舰芯片

    三星开始用AI设计未来旗舰芯片

    作为首款搭载AMD RDNA2架构GPU的SoC,有关三星Exynos的消息已经在市场上流传了一段时间。 该产品将支持光线追踪和可变速率着色。 传闻它在 3DMarkWildLife 测试中轻松击败三星 Exynos、高通 Snapdragon 和苹果 A14bionic,高于目前运行 Android 系统的任何设备,仅低于基于 M

    06-08

  • 陈天桥夫妇又投资了10亿

    陈天桥夫妇又投资了10亿

    这是一笔难得的投资。 本周,在上海举行的世界人工智能大会(WAIC)上,天桥脑科学研究所(TCCI)宣布再投资10亿元支持AI脑科学,包括成立MindX实验室,打造一系列前沿领域,如如AI+睡眠与梦境、AI+抗衰老等。 每个实验室启动费用为1万元,并将持续投入。 天桥脑科学研究所是

    06-17

  • 蘑菇街:2021财年第三财季直播GMV达40.51亿元,同比增长20.9%

    蘑菇街:2021财年第三财季直播GMV达40.51亿元,同比增长20.9%

    蘑菇街发布了本财年第三财季财报。 财报显示,本财年第三财季,蘑菇街营收1亿元,同比下降45.6%;归属于母公司的净亏损为1万元,而去年同期归属于母公司的净亏损为16亿元。 不过,本季度蘑菇街首次实现调整后息税折旧摊销前利润为正,达到万元。 同时,本季度蘑菇街平台GMV为

    06-17

  • 哈都网获数百万元种子轮融资,将成为硬件评测领域“网易严选”

    哈都网获数百万元种子轮融资,将成为硬件评测领域“网易严选”

    据投资界7月25日消息,硬件内容电商哈都网宣布完成数百万人民币种子轮融资。 方先生是飞马基金。   硬度网隶属于深圳市硬度科技有限公司,成立于2007年,今年4月正式上线。 是一个提供科技领域信息报道、硬件产品评论、硬件内容的综合性电商平台。   据了解,Harddu.com

    06-18

  • 浙江康桥光电科技智能制造基地项目奠基

    浙江康桥光电科技智能制造基地项目奠基

    据上海康桥科技股份有限公司官方微信公众号消息,1月9日,浙江康桥通讯设备有限公司光电科技智能制造基地项目奠基仪式举行。 制造基地项目在嘉善县举行。 据悉,光电科技智能制造基地项目总规划面积0.3亩,其中一期工程86.3亩,预计2018年建成投产。 项目涵盖高速光模块、有

    06-06

  • 专注汽车市场服务,蜥蜴智能获数千万元Pre-A轮融资

    专注汽车市场服务,蜥蜴智能获数千万元Pre-A轮融资

    据投资界7月29日消息,蜥蜴智能宣布完成数千万元Pre-A轮融资融资方面,西安博星洗车场、西安汽车职业大学和大建资本共同参与了本轮投资。 本次战略投资的领投方为西安博星洗车场。 博星洗车场作为西安深耕汽车后市场服务的龙头企业,在一线市场拥有完善的硬件基础设施和稳定

    06-18

  • 上海庞勃特科技获数千万元Pre-A轮融资,高通创投领投

    上海庞勃特科技获数千万元Pre-A轮融资,高通创投领投

    投资社区(ID:pedaily)据5月24日消息,上海庞勃特科技有限公司(未来Mind)近期获得高通创投领投的数千万元Pre-A轮融资。 本轮融资将主要用于市场拓展、新产品研发等方面。 去年11月,上海未来思维、高通、上海体育学院在中国国际进口博览会期间宣布合作,共同推动5G+AI赋能

    06-18

  • 外媒:英特尔将推出完全自动驾驶技术

    外媒:英特尔将推出完全自动驾驶技术

    彭博社、参考消息 据报道,英特尔旗下“移动眼”公司计划年内将自动驾驶汽车商业化。 Mobile Eye 将利用其母公司英特尔公司的芯片制造能力来制造激光传感器,该公司表示,到 2020 年,该传感器将使自动驾驶汽车的价格足够便宜,可供普通消费者使用。 这家总部位于耶路撒冷的

    06-06

  • 免费好玩的游戏推荐!在美国注册了Apple ID后,你怎么能不尝试这6款应用呢

    免费好玩的游戏推荐!在美国注册了Apple ID后,你怎么能不尝试这6款应用呢

    你可能看过我们之前的文章,在非大陆地区注册了Apple ID,但是除了一些必要的应用之外,你不会好像知道要下载什么?今天A君就以美国账号为例,推荐6款非大陆地区才有的好游戏——当然,它们不是ROBLOX、Count Masters这样的热门游戏。 ▲ App Annie 10 月份全球热门游戏下载量

    06-21

  • 新闻 -汇众资本拟出资1000万元参与设立综合健康产业基金

    新闻 -汇众资本拟出资1000万元参与设立综合健康产业基金

    投资圈(ID:pedaily)据7月1日消息,Pleco旗下汇众资本拟投资1万元与泰格投资、冠宇投资机构及自然人共同发起设立永修关友兆德股权投资基金中心(有限合伙),未来将重点关注大健康领域。 据悉,上述基金以有限合伙形式组织,冠宇投资担任管理人。 该基金拟认缴出资总额约3.

    06-18

  • 云栖大会阿里云创新创业论坛召开,三大赋能新产品及基金联盟发布

    云栖大会阿里云创新创业论坛召开,三大赋能新产品及基金联盟发布

    9月17日,云栖大会阿里云创新创业论坛在线上举行,阿里云智能服务、营销与公共服务部刘湘雯总经理和阿里云创新中心总经理李中雨带来了阿里云创新中心的最新战略、技术和赋能产品。 今年是“完整大会”举办的第十二个年头,也是大会首次以线上方式举行。 2018年,COVID-19疫情

    06-18