【缓存周总结】Redis缓存的使用以及数据安全的处理

前言

        Redis非关系型数据库已经是很常见的工具了,项目中用到的也很多,这篇文章系统的分析下使用过程中可能会遇到的问题

一、缓存

        缓存是数据交换的缓冲区,是存贮数据的临时地方,一般读写性能较高。

        我们项目中引用的Redis目的就是达到降低后端负载,降低响应时间,但是相应的也要考虑数据一致性方面的问题,引入后的项目层次大致为下图,起到了中间缓冲层的作用

二、数据安全问题

        从图中一个查看用户填写问卷列表查询的流程,可以看出来加了缓冲之后,缓存的数据是要与数据库的数据保持一致的,这里就会出现数据不一致的情况(比如数据库更新,则缓存亦须更新)

三、解决方案

        数据在数据库中发生更新时,主动更新缓存中的数据即可,就是要求调用者在更新数据库的同时更新缓存

        在操作数据库和缓存的时候注意以下几点

1.每次更新数据库都要更新缓存吗?

        每次更新数据库后都更新缓存的话,无效写操作过多,所以更新数据库的时候选择直接让缓存失效,等到下次查询时再更新缓存

2.怎么保证一致性?

        单体项目的话,操作数据库和缓存的逻辑放在一个事务中即可

        分布式项目可以利用分布式事务方案

3.更新缓存和数据库的先后顺序如何确定

        先操作数据库再删除缓存的安全性更好一点

--------------------------------------------   一月的第四周   -----------------------------------------------------

周总结:

        1.参与项目对接国外用户按照时区的重构方案讨论会

        2.初步制定项目重构方案,服务器等必要环境基本搭建完成

        3.重构任务的分析,以及开发方式的确定

        4.书刊推荐分享会的完成

2024/1/27        阴天        温度较低

        1.这么冷的天,再适合睡觉不过了

        2.没有太阳,不适合晒鞋,但是非常适合缩在被窝刷剧,《海王2》整体来说还不错吧,虽然剧情略显无聊,但是特效看着还是挺过瘾的

        3.睡一觉吧,晚上恰个饭再睡一觉,结束

2024/1/28        晴天        温度适宜

        1.醒来第一件事,晒晒我那饱经风霜的莆田,我走到哪儿它就跟到哪儿(废话bushi)

        2.下午出去溜达,自助烤肉,真的给我干撑了,后面得吃一星期泡面估计才能缓过来。。。

        3.十一点多了,坐在电脑前不自觉的感慨又是一周过去了,我这一生如履薄冰,究竟还能度过多少个周末呢(闻神附体bushi),好了洗洗睡了,下周见

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/363664.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Unity - 调节camera物理相机参数(HDRP)

在 “Hierarchy” 右键 -> Volume -> Global Volume new 一个 profile, 设置Mode为Pysical Camera 再点击camera组件,这时候设置 ISO、Shutter Speed、Aperture等参数值还会有效。

深入了解如何对IPA包进行有效的混淆处理

1、安装混淆工具 首先电脑上要安装ipagurad工具,官网链接:IpaGuard官网--IOS 应用程序ipa文件混淆加密保护工具 2、生成混淆文件 由于混淆需要首先 打开要处理的IPA文件 第一项,填写我们需要重签名的 ipa 路径(当前导入的路径跟导…

跟着pink老师前端入门教程-day16

二十七、CSS3进阶 1、CSS3 2D转换 转换(transform)是CSS3中具有颠覆性的特征之一,可以实现元素的位移、旋转、缩放等效果 转换(transform)可以简单理解为变形 移动:translate;旋转&#xff…

【LVGL源码移植】

LVGL源码移植 ■ LVGL源码移植一:下载LVGL源码二:修改LVGL文件夹1: 将这5个文件,复制到一个新的文件夹2: 简化文件,减少内存消耗(去除不必要的文件)3: 为了规范化,我们将下列文件进行重命名 三&…

nodejs+vue+ElementUi宠物领养救助网站0w6wc

宠物领养救助平台采用B/S架构,数据库是MySQL。网站的搭建与开发采用了先进的nodejs进行编写,使用了vue框架。该系统从两个对象:由管理员和用户来对系统进行设计构建。主要功能包括:个人信息修改,对用户、宠物类别、宠物…

七、并发工具(上)

一、自定义线程池 1)背景: 在 QPS 量比较高的情况下,我们不可能说所有的访问都创建一个线程执行,这会导致内存占用过高,甚至有可能出现 out of memory另外也要考虑 cpu 核数,如果请求超过了cpu核数&#…

【多个SpringBoot模块项目如何变成聚合项目】

【前言】 项目虽然是Eureka、OpenFeign 进行服务注册和服务调用,但是每个模块都是一个单独的SpringBoot,启动每个模块都需要单独启动一个idea,觉得这个过于繁琐,现在想把项目变成一个聚合项目,只需要启动一个idea即可。 【过程】…

09. 异常处理

目录 1、前言 2、常见的异常 3、异常处理try...except...finally 4、异常信息解读 5、raise 6、自定义异常 7、小结 1、前言 在编程中,异常(Exception)是程序在运行期间检测到的错误或异常状况。当程序执行过程中发生了一些无法继续执…

vue前端html导出pdf

package.json中添加依赖 调用方: import htmlToPdf from ../../../utils/file/htmlToPdf.js// 下载方法,pdfDownloadDpi为onClickDownLoad() {htmlToPdf.getPdf(标题1, jsfgyzcpgxmShow, this.pdfDownloadDpi)}htmlToPdf.js // 页面导出为pdf格式 imp…

Backtrader 文档学习- Broker - Cheat-On-Open

Backtrader 文档学习- Broker - Cheat-On-Open 1.概述 V1.9.44.116增加了Cheat On Open的支持。对于全押的人来说,这似乎是一个必需的功能,用bar的收盘价后进行计算,希望与开盘价相匹配。 当开盘价差距(上涨或下跌,取…

杂题——试题-算法训练-P0602

分析: 把要重排序的数字转成数组对数组进行排序,从小到大排序数组转成字符串,字符串转成数字,得到最小数再把最小数的字符串反转,得到最大数注意: 在java语言中,如果使用Arrays.toString(digits…

DevOps系列文章之 Git命令:过滤日志

使用git log命令查找特定提交历史的高级技巧。其中的一些技巧配合格式化日志命令使用有奇效。 按照数量过滤 使用git log命令时最基本的过滤方式就是按照可以显示的日志条数进行过滤。如果你只对最近几次提交感兴趣,这会节省在页面上查看所有提交的麻烦。 git lo…

成熟的汽车制造供应商协同平台 要具备哪些功能特性?

汽车行业是一个产业链长且“重”的行业,整个业务流程包括了研发、设计、采购、库存、生产、销售、售后等一系列环节,在每一个环节都涉及到很多信息交换的需求。对内要保证研发、采购、营销等业务环节信息流通高效安全,对外要与上、下游合作伙…

springboot-前后端分离——第一篇

本篇主要对前后端分离的一些基础知识进行总结,主要对HTTP请求协议、HTTP响应格式、Http协议解析等进行总结。重点在于简单了解前端如何向服务端发送请求,服务端如何接收请求并返回响应结果。 一、简单案例: 首先创建一个springboot项目&…

使用pygame建立一个简单的使用键盘方向键移动的方块小游戏

import pygame import sys# 初始化pygame pygame.init()# 设置窗口大小 screen_size (640, 480) # 创建窗口 screen pygame.display.set_mode(screen_size) # 设置窗口标题 pygame.display.set_caption("使用键盘方向键移动的方块的简单小游戏")# 设置颜色 bg_colo…

帅气的性能监控平台Grafana(Windows下使用Grafana监控系统指标与GPU指标)

帅气的性能监控平台Grafana(Windows下使用Grafana监控系统指标与GPU指标) 前情提要 系统环境准备 windows_exporter下载 nvidia_gpu_exporter下载 prometheus下载 Grafana下载 安装指导 windows_exporter安装与nvidia_gpu_exporter安装 promethe…

ApacheNginx配置ssl证书

一、Apache配置ssl Linux版本:CentOS Linux release 7.9.2009 (Core) Apache版本:Apache/2.4.6 (CentOS) 1、安装Apache(使用默认yum源) [root10-35-1-25 ~]# yum -y install httpd2、查Apache版本&启动Apache [root10-35-…

深度解读NVMe计算存储协议-2

近日,NVME协议组织为了解决这些性能问题并为供应商提供标准化机制,在其架构中集成优化的计算功能,开发了NVM Express (NVMe) 计算存储特性。 计算存储的核心特性包括两个命令集:计算程序集和子系统本地内存。 其中,计算…

postgresql|数据库|pg_repack插件的部署和使用

一, 表和索引的膨胀现象 Postgres SQL 实现的MVCC的机制不同于 oracle , mysql innodb 的 undo tablespace 的机制。 表上所用的更新和删除等操作的行为,都不会实际的删除或修改,而是标记为死元祖 (dead rows or dead…

非鸿蒙官方低代码源码生成器

介绍 鸿蒙低代码可视化开发神器快速对鸿蒙ArkUI生成源码,结合类似小程序类似设计,页面设计底部菜单,支持宫格组件、轮播图、图文列表、图片组件、文本内容组件,快速对接第三方HttpApi。通过鸿蒙扩展axios扩展库加载数据源&#x…