记录一下自己的听课笔记,看的网课。

参考资料:https://zhuanlan.zhihu.com/p/157717158

常见应用场景

1 数据缓存

  缓存一些常用的、经常访问的、不经常变化的数据,也就是相对稳定即时性低的,比如说:菜单/权限/类别/数据字典。

2 文章点赞/阅读量

  这样的数据放缓存是因为文章的阅读量和点赞量变化太快了,如果频繁的更新数据库,数据库压力太大了,顶不住的。如果放到redis中缓存起来,读写更快。加入开启redis的数据持久化,就算redis崩掉也没事,因为数据都存到磁盘里面了,然后定时或者一定次数的写入数据库,同步数据就行了。就算数据丢了也没有问题,不是什么影响业务的数据。

3 密码错误

  假如有这样一种需求:限制24小时内密码只能错误5次,输入密码错误5次后就不让登录了。我们平常是不是有这样一种做法,在数据表里面加个字段记录一下这个人的错误次数,每次密码错误就更新错误次数,判断错误次数是否超出所限制的次数。这时候我们可以放到redis缓存里面使用用户名做key+次数做value记录一下这个人的尝试次数,设置有效期24小时。

4 微信公众号投票

  同密码错误场景一致

5 秒杀

  东西少并发高,如果直接访问数据库的话数据库顶不住。加上redis的话,我们可以把库存放到redis中存储,redis本身有一个单线程模型,可以来一个请求,我们访问一下数据库,如果库存没有了直接返回结果,不会再访问数据库了。

6 分布式锁

  Redis可用于实现分布式锁。为了确保分布式锁可用,至少锁的实现必须同时满足以下条件:

    1)互斥在任何时候,只有一个客户端可以持有该锁;

    2)不会发生死锁;

    3)锁定和解锁必须是同一客户端,并且该客户端无法解锁他人添加的锁。

7 分布式 Session

  使用Redis在其他存储上缓存会话的优点是Redis提供了持久性,目前很多解决方案都采用Redis作为会话存储解决方案。待补充。

Redis缓存应用场景的更多相关文章

  1. JVM、redis缓存适用场景

    1. 数据状态相对稳定:(针对数据本身)数据修改较少. 2. 输出的数据是相对幂等:(针对业务)多次查询期间,数据不变动.如果查询频率过高,缓存可能没有及时更新. 了解一下redis.ehcache. ...

  2. Redis基础知识之—— 缓存应用场景

    转载原文:http://www.cnblogs.com/jinshengzhi/articles/5225718.html 一.MySql+Memcached架构的问题 Memcached采用客户端- ...

  3. 结合场景使用Redis缓存与数据库同步

    Redis缓存与MySQL数据库与同步 什么场景用到了Redis缓存? 1.广告数据 2.搜索时,分类品牌名称,分类名称和规格数据 3.购物车 4.支付 问题:如何实现? 1.广告数据 先查询Redi ...

  4. 总结:如何使用redis缓存加索引处理数据库百万级并发

    前言:事先说明:在实际应用中这种做法设计需要各位读者自己设计,本文只提供一种思想.准备工作:安装后本地数redis服务器,使用mysql数据库,事先插入1000万条数据,可以参考我之前的文章插入数据, ...

  5. redis系列-redis的使用场景

    redis越来越受大家欢迎,提升下速度,做下缓存,完成KPI之利器呀.翻译一篇文章<<How to take advantage of Redis just adding it to yo ...

  6. spring aop搭建redis缓存

    SpringAOP与Redis搭建缓存 近期项目查询数据库太慢,持久层也没有开启二级缓存,现希望采用Redis作为缓存.为了不改写原来代码,在此采用AOP+Redis实现. 目前由于项目需要,只需要做 ...

  7. [Redis]c# redis缓存辅助类

    public static class RedisCache { private static IRedisClient RCClient = null; /// <summary> // ...

  8. 使用redis缓存加索引处理数据库百万级并发

    使用redis缓存加索引处理数据库百万级并发 前言:事先说明:在实际应用中这种做法设计需要各位读者自己设计,本文只提供一种思想.准备工作:安装后本地数redis服务器,使用mysql数据库,事先插入1 ...

  9. Redis 缓存 + Spring 的集成示例(转)

    <整合 spring 4(包括mvc.context.orm) + mybatis 3 示例>一文简要介绍了最新版本的 Spring MVC.IOC.MyBatis ORM 三者的整合以及 ...

  10. redis的适应场景

    redis应用场景: 1.对数据高并发读写 2.对海量数据的高效存储和访问 3.对数据的高可扩展性和高可用性 做分布式扩展很简单,因为没有固定的表结构 redis介绍: redis是一个key-val ...

随机推荐

  1. 【转帖】如何使用route管理路由表

    这里是引用 route快捷使用方法 我们一般管理路由有使用route命令 本身route使用大致有两种方法:但其实 在实际操作中,我们熟练掌握一种方法就可以了. route 有以下6种操作方法: 1) ...

  2. [转帖]Skywalking介绍

    https://www.jianshu.com/p/ffa7ddcda4ab 微服务架构已经是一个很通用的系统架构,常见的技术栈如下图所示,这张架构图基本涵括了当前微服务体系下的各种技术栈,可能不同的 ...

  3. [转帖]Linux开发环境——SCL软件集

    一.SCL简介 1.SCL简介 SCL(Software Collections)是一个CentOS/RHEL Linux平台的软件多版本共存解决方案,为RHEL/CentOS  Linux用户提供一 ...

  4. [转帖]strace 命令详解

    目录 1.strace是什么? 2.strace能做什么? 3.strace怎么用? 4.strace问题定位案例 4.1.定位进程异常退出 4.2.定位共享内存异常 4.3. 性能分析 5.总结 1 ...

  5. [转帖]关于iostat的问题,svctm数据不可信

    使用FIO对磁盘进行压力测试,使用1个线程对磁盘进行随机读,设置单次read的数据块分别为128KB和1M,数据如下: (1)单次IO数据块为128KB (2)单次IO数据块为1M 从上面的数据可以看 ...

  6. vue如何在render函数中使用判断(2)

    h函数的三个参数 第一个参数是必须的. 类型:{String | Object | Function} 一个 HTML 标签名.一个组件.一个异步组件.或一个函数式组件. 是要渲染的html标签. 第 ...

  7. ClickHouse(14)ClickHouse合并树MergeTree家族表引擎之VersionedCollapsingMergeTree详细解析

    目录 建表语法 使用场景 合并算法 使用例子. 资料分享 参考文章 VersionedCollapsingMergeTree引擎继承自MergeTree并将折叠行的逻辑添加到合并数据部分的算法中.Ve ...

  8. FM的一种简易解调方式

    理论来源 <高低频电路设计与制作> 铃木雅臣 著.这位作者的书写的都不错 电路图 模拟思路 设输入信号为 \[s(t) = \sin(w_0 t + \Delta w\int_{- \in ...

  9. TienChin 活动管理-修改活动

    后端 ChannelController.java @PreAuthorize("hasPermission('tienchin:channel:edit')") @GetMapp ...

  10. Markdown-CSDN自带帮助语法

    这里写自定义目录标题 欢迎使用Markdown编辑器 新的改变 功能快捷键 合理的创建标题,有助于目录的生成 如何改变文本的样式 插入链接与图片 如何插入一段漂亮的代码片 生成一个适合你的列表 创建一 ...