当前位置: 首页 > news >正文

Redis过期机制

const (
    cacheDuration = 24 * time.Hour
)

func SetToCache(rdb *redis.Client, key string, data []byte) error {
    return rdb.Set(rdb.Context(), key, data, cacheDuration).Err()
}

以上函数中的rdb.Set(rdb.Context(), key, data, cacheDuration).Err()中的 cacheDuration一旦被设置,是不是就意味着,当数据在内存中存储超过这个时间,就会被删除,redis缓存中将不在有该数据了?

是的,在 Redis 中,cacheDuration 设置为 24 * time.Hour 表示缓存数据的过期时间为 24 小时。具体解释如下:

代码中的 cacheDuration

const (
    cacheDuration = 24 * time.Hour
)
  • 这里 cacheDuration 被定义为一个常量,表示 24 小时。
  • time.Hour 是 Go 语言中一个用于表示 1 小时时间长度的常量。
  • 因此,24 * time.Hour 等于 24 小时。

Redis 缓存过期时间

rdb.Set(rdb.Context(), key, data, cacheDuration).Err()
  • 这行代码中的 cacheDuration 作为 Redis 的过期时间参数。
  • 当调用 SET 命令时,Redis 会将当前时间加上 cacheDuration 作为键的过期时间。
  • 如果超过这个过期时间,Redis 会认为该键已经过期,并在下次访问时删除它。

Redis 缓存数据有效期

  • 当 cacheDuration 设置为 24*time.Hour 后,Redis 会确保数据在内存中的有效期为 24 小时。
  • 超过 24 小时后,Redis 会在后台清理过期数据。
  • 具体来说:
    • Redis 会定期检查和删除过期的键。
    • 一旦识别出键已过期,Redis 会自动删除该键。

注意事项

  • Redis 的缓存清除机制:
    • Redis 不会立即删除过期的键,而是在访问时或定期清理时删除。
    • 如果 Redis 的内存使用接近限制,它可能会更积极地删除过期的键。
  • 数据仍然可能存在于 Redis 中:
    • 在 24 小时后,数据会在 Redis 中被标记为过期,但直到 Redis 清理或访问时才会被删除。
    • 总之,cacheDuration 设置为 24*time.Hour 后,Redis 会在 24 小时后自动删除缓存数据,确保数据的生命周期不超过 24 小时。

相关文章:

  • 【ISO 14229-1:2023 UDS诊断全量测试用例清单系列:第九节】
  • 用deepseek学大模型03-数学基础 概率论 最大似然估计(MLE)最大后验估计(MAP)
  • 1-13 tortoiseGit忽略文件与文件夹
  • SubGraphRAG:结合LLM与知识图谱子图的推理增强框架,通过多层感知机和三元组打分优化子图检索
  • 基于单片机的日程管理系统设计
  • Ubuntu 连接 air pods
  • Unity3D仿星露谷物语开发29之创建农舍小屋场景
  • 怎么在智能合约中植入deepseek
  • 如何使用Pytest参数化测试大规模生成单元测试用例
  • 【动态路由】系统Web URL资源整合系列(后端技术实现)【apisix实现】
  • 【设计模式】【结构型模式】桥接模式(Bridge)
  • 案例-04.部门管理-删除
  • vueDevtools和文档整合(前端常用工具/插件)
  • Code::Blocks 创建 C 项目 二
  • 有关Java中的异常和异常处理
  • 图神经网络怎么和LLM结合
  • Docker 入门与实战:从安装到容器管理的完整指南
  • nlp|微调大语言模型初探索(1),LLaMA-Factory
  • 用deepseek学大模型05-线性回归
  • UnityRecorder导出带透明通道的视频和图片
  • 马上评|科学谋划“十五五”,坚定不移办好自己的事
  • 水利部将联合最高检开展黄河流域水生态保护专项行动
  • 融创服务全面退出彰泰服务集团:约8.26亿元出售广西彰泰融创智慧80%股权
  • 辽宁省委书记郝鹏、省长王新伟赶到辽阳火灾事故现场指导善后处置工作
  • 美财长称关税战升级的责任在中方,外交部:关税战、贸易战没有赢家
  • 中介在网上非法贩婴“一个孩子8.5万元”?丹阳警方介入