现在我们数据每次都是从数据库读取,这样当网站访问量达到高峰时段,对数据库压力很大,并且影响执行效率。我们需要将这部分广告数据缓存起来。

查询的时候走缓存,增删改的时候同步更新缓存

查询的时候:先查redis,根据key去查

1.如果redis有,直接返回结果集

2.如果redis没有,这时去数据库查询,返回结果集,并且同步地把缓存数据放到redis中

3.如果redis没有,数据库也没有,把key-null存到redis中

问题1:不应该同步地把数据保存到缓存中,异步把数据放到缓存中,使用mq发消息

问题2:查询的key永远没有value,每次的请求都会打到数据库,因为redis中没有缓存结果数据,会造成缓存的穿透,缓存value为空的数据

问题3:如果恶意访问,故意制造一些数据库没有的数据进行攻击,如果说访问持续缓慢,需要降低被恶意程序盯上的几率,缓存的降级,不管什么请求,短时间,高并发,全部返回null,很可能是一个爬虫程序

问题4:短信验证码,报警,请了武汉本地安全团队进行一些反制措施,最终找到这个人,短信轰炸机,调用别的公司的短信接口

在发短信之前,可以使用随机验证码,请滑动图块

redis缓存数据的流程相关推荐

  1. 基于 abp vNext 和 .NET Core 开发博客项目 - 使用Redis缓存数据

    基于 abp vNext 和 .NET Core 开发博客项目 - 使用Redis缓存数据 转载于:https://github.com/Meowv/Blog 在日志记录中使用的静态方法有人指出写法不 ...

  2. Java项目使用Redis缓存数据

    Java项目使用Redis缓存数据 一.Redis的下载安装 1.下载gcc编译器 yum install gcc-c++ 安装完成后检查是否安装成功,查看版本 gcc --version 2.使用w ...

  3. 05-使用Redis缓存数据,管理员相关数据表

    文章目录 使用Redis缓存数据 管理员相关数据表 使用Redis缓存数据 使用Redis可以提高查询效率,一定程度上可以减轻数据库服务器的压力,从而保护了数据库. 通常,应用Redis的场景有: 高 ...

  4. redis 缓存数据_Redis 缓存数据方案对比:常规 VS 高并发服务器

    1 Redis 是什么 Redis 是一种开源的非关系型数据库.起源于负载较大时,当前关系型数据库无法承载的情况. 到目前为止,Redis 可以用作数据库.缓存.消息处理.Redis 可以存储键和5种 ...

  5. 十行代码将Redis缓存数据进行分页提取与展示

    预览 准备数据 从以前的项目中提取一些数据直接导入MySQL,原先数据库为sqlite3,先将数据转为xls文件格式. 然后使用MySQL可视化工具Navicat for MySQL新建一个数据库,新 ...

  6. 积分签到mysql_简易积分签到功能java代码实现实现Redis缓存数据

    -------需求说明 ---- 需求分析 积分签到处于app页面"我的",用户会频繁的来回切换,如果将数据全部存储到数据库中然后去数据库中做查询,所以这里我才用的Redis缓存的 ...

  7. spring boot使用redis缓存数据与自动清除

    在spring boot项目中使用缓存很方便,有如下两种使用场景: 直接操作RedisTemplate缓存数据 在方法上加@Cacheable注解来缓存数据 方法1适用于缓存session.token ...

  8. redis缓存数据表

    直观上看,数据库中的数据都是按表存储的:更微观地看,这些表都是按行存储的.每执行一 次select查询,数据库都会返回一个结果集,这个结果集由若干行组成.所以,一个自然而然 的想法就是在Redis中找 ...

  9. redis缓存数据清理

    redis是固定的存储空间 通过 CONFIG SET maxmemory 4gb 命令来设置大小(此处设为4gb) 那么当4gb存储满的时候就需要考虑清除一些无用或过期数据释放空间 redis的过期 ...

最新文章

  1. Microsoft Sql Server Management studio与visual studio 建立连接数据库
  2. Windows编程-- 用户方式中线程的同步---关键代码段(临界区)
  3. Spring5源码 - 13 Spring事件监听机制_@EventListener源码解析
  4. 人工智能:第四章 计算智能(1)
  5. Max Sum Plus Plus HDU - 1024(动态规划求最大M子段和)
  6. 07.Qt程序的发布
  7. 大数据之-入门_Hadoop是什么---大数据之hadoop工作笔记0008
  8. ASA下邮件发送经常失败
  9. 江西 高职 分数 计算机,快讯!江西高职(专科)批次各高校投档分数线出炉…...
  10. java基础 包装类
  11. yolo系列之yolo v3【深度解析】
  12. 关于微信小程序开发者工具的版本管理使用介绍
  13. 【sdx62】WCN6855 WCN6856 WiFi 增加强制40MHz频宽的功能实现
  14. 肠道核心菌属——优/真杆菌属(Eubacterium),你为什么要关心它?
  15. 学习笔记(2)——TransE算法(Translating Embedding)
  16. English Learning - Day52 作业打卡 2023.2.6 周一
  17. 聚智云算,向新而生| 有孚网络“专有云”开启新纪元
  18. 记录一次redis漏洞攻击
  19. 、再烦,也别忘记微笑;再急,也要注意语气;.再苦,也别忘坚持;再累,也要爱自己。
  20. MatlabSimulink开发STM32F4

热门文章

  1. [链接].VGA信号时序
  2. Java之PriorityQueue有序队列
  3. 内存泄漏——内存溢出区别
  4. 记一次Kafka集群的故障恢复
  5. 源码共享,希望一起互相学习
  6. golang 切片追加问题
  7. C#类的一些简单比较
  8. 分布式一致性协议:Raft协议
  9. Jenkins环境搭建和部署项目的过程
  10. python单元测试断言_Python单元测试框架之pytest -- 断言-阿里云开发者社区