当前位置: 代码迷 >> 综合 >> beego/cache源码分析---典型的工厂模式
  详细解决方案

beego/cache源码分析---典型的工厂模式

热度:18   发布时间:2024-01-11 03:34:53.0

本文公众号文章链接:https://mp.weixin.qq.com/s/clal1S34zHGYIFLfY4xN_Q

本文csdn博客文章链接:https://blog.csdn.net/screscent/article/details/79792138

 

 

beego是一个开源的web框架。cache是其中的一个独立模块。这个模块的设计方式在go语言设计中是非常典型的工厂模式。

 

cache.go:抽象接口部分、注册部分、模块对外的初始化。 

memory:memorycache

file:filecache

cache/memcache:封装的是memcache

cache/redis:封装的是redis

cache/ssdb:封装的是ssdb

 

源码目录为:

 

一、cache接口与入口部分

github.com/astaxie/beego/cache/cache.go

Cache接口定义了cache的操作方法:Get,GetMulti,Put,Delete,Incr,Decr,IsExist。

另外还定义了两个清理接口,ClearAll,定时自动清理StartAndGc

 

提供了注册接口

 

初始化入口:根据注册的cache类型查找,并初始化相关的cache,最后开启定时自动清理。

 

二、memorycache

github.com/astaxie/beego/cache/memory.go

在init函数中,注册初始化入口

 

基础的数据结构MemoryItem

  相关解决方案