什么时候使用Redis缓存
1、Redis是什么?
Redis (REmote DIctionary Server)是一个开源(BSD许可),内存存储的数据结构服务器,可用作数据库,高速缓存和消息队列,是一个高性能的key-value数据库。Redis与其他key-value缓存产品有以下三个特点:
- Redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用。
- Redis不仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。
- Redis支持数据的备份,即master-slave模式的数据备份。
2、为什么要用Redis
假如系统中有2千万用户信息,用户信息基本固定,一旦录入很少变动,那么你每次加载所有用户信息时,如果都要请求数据库,数据库编译并执行你的查询语句,这样效率就会低下很多,针对这种信息不经常变动并且数据量较大的情况,通常做法,就是把他加入缓存,每次取数前先去判断,如果缓存不为空,那么就从缓存取值,如果为空,再去请求数据库,并将数据加入缓存,这样大大提高系统访问效率
3、什么数据可以放缓存
- 不需要实时更新但是又极其消耗数据库的数据。 比如网站上商品销售排行榜,这种数据一天统计一次就可以了,用户不会关注其是否是实时的。
- 需要实时更新,但是更新频率不高的数据。比如一个用户的订单列表,他肯定希望能够实时看到自己下的订单,但是大部分用户不会频繁下单。
- 在某个时刻访问量极大而且更新也很频繁的数据。这种数据有一个很典型的例子就是秒杀,在秒杀那一刻,可能有N倍于平时的流量进来,系统压力会很大。但是这种数据使用的缓存不能和普通缓存一样,这种缓存必须保证不丢失,否则会有大问题
4、什么数据不能放缓存
实际上在一个web站点中,大部分数据都是可以缓存的,反而不能使用缓存的是很小一部分。这类数据包括比如涉及到钱、密钥、业务关键性核心数据等。有一个经验之谈就是,如果在设计web系统的时候,发现大部分数据都不能使用缓存,则说明设计或者架构本身出了问题,此时需要考虑设计的合理性了
什么时候使用Redis缓存相关推荐
- redis缓存和cookie实现Session共享
分布式项目中要实现单点登录(SSO - Single Sign On):对于同一个客户端(例如 Chrome 浏览器),只要登录了一个子站(例如 a.com),则所有子站(b.com.c.com)都认 ...
- Redis 缓存穿透、雪崩、缓存数据库不一致、持久化方式、分布式锁、过期策略
1. Redis 缓存穿透 1.1 Redis 缓存穿透概念 访问了不存在的 key,缓存未命中,请求会穿透到 DB,量大时可能会对 DB 造成压力导致服务异常. 由于不恰当的业务功能实现,或者外部恶 ...
- 链接mysql_使用python链接mysql及redis(缓存型数据库)
python链接数据库mysql操作,首先我们需要借助第三方库pymysql. cmd终端下载:pip install pymysql import pymysql#链接数据库db = pymysql ...
- redis del清除缓存java_删除redis缓存报错
项目里删除操作有一个删除redis缓存得操作,但是报错了,看不懂什么意思,有没有大佬报名解惑一下 [ERROR] 18:42:13.893 [DubboServerHandler-192.168.16 ...
- 总结:如何使用redis缓存加索引处理数据库百万级并发
前言:事先说明:在实际应用中这种做法设计需要各位读者自己设计,本文只提供一种思想.准备工作:安装后本地数redis服务器,使用mysql数据库,事先插入1000万条数据,可以参考我之前的文章插入数据, ...
- Redis 缓存击穿(失效)、缓存穿透、缓存雪崩怎么解决?
欢迎关注方志朋的博客,回复"666"获面试宝典 原始数据存储在 DB 中(如 MySQL.Hbase 等),但 DB 的读写性能低.延迟高. 比如 MySQL 在 4 核 8G 上 ...
- 关于Redis缓存,这3个问题一定要知道!
点击上方蓝色"方志朋",选择"设为星标" 回复"666"获取独家整理的学习资料! 来源:https://4m.cn/e3JwR 最近都没看R ...
- 点赞模块设计:Redis缓存 + 定时写入数据库实现高性能点赞功能
点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 作者:solocoder juejin.im/post/5bdc2 ...
- 服务运行一段时间,redis缓存就不可用,原来是这个锅!
点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试资料 作者:陈凯玲 来源:https://urlify.cn/RVzIR ...
- Spring Boot 结合 Redis 缓存
Redis官网: 中:http://www.redis.cn/ 外:https://redis.io/ redis下载和安装 Redis官方并没有提供Redis的Windows版本,这里使用微软提供的 ...
最新文章
- 【重要预警】“永恒之蓝”漏洞又现新木马 组成僵尸网络挖矿虚拟货币
- vmware 12.5.3 linux,vmware12如何安装linux|opensuse42.3系统安装教程
- 2017 Multi-University Training Contest - Team 2——HDU6045HDU6047HDU6055
- 深入hibernate的三种状态
- 建设银行房贷没扣成功会补扣吗?
- 【eevee.cc】文章归档
- Linux printf()占位符
- Android入门笔记01
- Caffe学习系列(16):caffemodel可视化
- 小升初数学计算机考试题,重点中学小升初数学分班考试模拟试卷试题及解析总结计划-20210513100212.docx-原创力文档...
- 苹果iCloud大调整:干掉1TB版本,2TB降价
- qt传递数组给js(支持多组)
- java 汉字区位码表_汉字编码解析
- 网站速度这样优化,让你的网站飞起来
- Spring WebFlux - WebClient连接池简单测试和代码分析
- 在线生成透明ICO图标神器
- java 根据list中 | 中、英文名称进行排序
- 新版“大伦敦规划”中的交通发展策略
- 青岛科技大学和青岛大学计算机专业,青岛科技大学和青岛大学企业管理专业哪个比较好考...
- 生成字体图标及其原理
热门文章
- python 字符串与ASCII码转换的脚本
- 电信物联网平台,java后台对接电信北向应用,命令下发到设备
- pdf转化为图片显示知多少
- 用C语言编写的商品库存管理系统
- 【渝粤教育】国家开放大学2018年秋季 8180-22T (1)畜禽生产概论 参考试题
- 两个苹果手机共享步数_实测:iPhone上“微信运动”步数可以作弊
- 单元测试 CI/CD
- WARNING: The repository located at mirrors.aliyun.com is not a trusted or secure host and is being i
- 神经网络学说的主要观点,神经网络研究属于下列
- matlab dcgain,MATLAB实现控制系统的时域分析