码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 缓存更新策略(旁路更新策略)


    文章目录

    • 前言
    • 旁路更新策略
      • 读操作
      • 写操作
    • 总结

    前言

    Redis ,是基于内存的数据库,我们常将其做为缓存,在数据访问时,达到更高的性能。

    那么该如何使用 Redis 做为缓存呢?本篇文章介绍缓存的更新策略——Cache-Aside(旁路更新策略)

    旁路更新策略

    缓存的常用策略:旁路更新策略(Cache-Aside)。可以细分为读操作与写操作。可能还是会出现并发问题,但是出现并发问题的几率不大。

    读操作

    1. 用户发起请求。
    2. 读取缓存。(缓存存在:返回数据。)
    3. 缓存不存在,查询数据库。
    4. 更新缓存。
    5. 返回数据。

    具体操作如图所示

    在这里插入图片描述

    写操作

    1. 用户发起请求,更新数据
    2. 更新数据库
    3. 更新缓存
    4. 结束

    具体操作如图所示

    在这里插入图片描述

    总结

    我们在部分使用缓存的时候使用旁路缓存就可以解决大部分的问题,但是还是有出现一些并发的缓存问题,如果我们还要深入的优化系统的安全性,可以使用Redis实现分布式锁来保证系统更新缓存的时候的安全性。


    有启发点个赞 🌹

    我是小辉,正在进行 Java 实习的 24 届应届毕业生。欢迎关注,持续分享,包括但不限于技术文章。欢迎关注我的公号⬇️⬇️⬇️

  • 相关阅读:
    PAT 1032 Sharing
    基于Mediapipe的对象分类任务,CPU平台毫秒级别延迟
    苹果系统_安装matplotlib_&_pygame,以pycharm导入模块
    技术分享 | 使用 Zabbix + Grafana 搭建服务器监控系统
    若依VUE 从一个页面跳转另一个页面并携带参数
    Android Accessibility -- 抖音自动化-实现无障碍
    算法竞赛入门【码蹄集新手村600题】(MT1151-1200)
    【JavaEE基础与高级 第61章】Java中的注解和元注解的介紹使用、注解解析
    thinkphp5实现ajax图片上传,压缩保存到服务器
    【git】项目本地文件和远端不一致,如何初始化提交git项目
  • 原文地址:https://blog.csdn.net/m0_64372868/article/details/136620472
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号