本地缓存、服务器缓存、分布式缓存介绍
缓存的意义
缓存存在的意义:
1.减轻数据库压力
2.提升接口的性能
3.缓解服务器压力(不用每次去请求资源);
4.提升性能(打开本地资源速度当然比请求回来再打开要快得多);
5.减少带宽消耗
例如:我有1000个参数相同的请求,如果没有缓存,就会对访问1000次数据库,会给数据库造成很大的压力,如果用缓存,会减轻数据库的负担,提高程序的性能
缓存的分类
缓存分为三种
第一种:本地缓存:存在于客户端,例如说微信的聊天记录(聊天记录非常适合用本地缓存),注意:用本地缓存的时候,应该注意安全性。
第二种:服务器缓存(例如Guava),存在于jvm堆里面,底层数据结构是HashMap,key-value键值对的形式。
第三种:分布式缓存(redis),服务器集群共用一个缓存。
redis做缓存的优势
redis不只是可以做缓存,只是大部分应用场景是缓存
①有丰富的数据类型
Redis将其数据完全保存在内存中,仅使用磁盘进行持久化。与其它键值数据存储相比,Redis有一组相对丰富的数据类型。Redis可以将数据复制到任意数量的从机中。
②异常快
Redis非常快,每秒可执行大约110000次的设置(SET)操作,每秒大约可执行81000次的读取/获取(GET)操作。支持丰富的数据类型 - Redis支持开发人员常用的大多数数据类型 ,例如列表,集合,排序集和散列等等。这使得Redis很容易被用来解决各种问题,因为我们知道哪些问题可以更好使用地哪些数据类型来处理解决。
③操作具有原子性,例如我们在分布式id生成时可以借助redis,由于incr操作具有原子性,所以id永远不会重复。
所有Redis操作都是原子操作,这确保如果两个客户端并发访问,Redis服务器能接收更新的值。
④Redis是一个内存数据库,但在磁盘数据库上是持久的,因此它代表了一个不同的权衡,在这种情况下,在不能大于存储器(内存)的数据集的限制下实现非常高的写和读速度
⑤redis支持多种数据结构,Redis不仅仅支持简单的k/v类型的数据,同时还提供list,set,zset,hash等数据结构的存储
⑥Redis支持master-slave(主-从)模式应用
⑦Redis单个value的最大限制是1GB,memcached只能保存1MB的数据。
本地缓存、服务器缓存、分布式缓存介绍相关推荐
- java 项目做多级缓存_【开源项目系列】如何基于 Spring Cache 实现多级缓存(同时整合本地缓存 Ehcache 和分布式缓存 Redis)...
一.缓存 当系统的并发量上来了,如果我们频繁地去访问数据库,那么会使数据库的压力不断增大,在高峰时甚至可以出现数据库崩溃的现象.所以一般我们会使用缓存来解决这个数据库并发访问问题,用户访问进来,会先从 ...
- java 分布式缓存 开源_分布式缓存开源框架Flasher介绍-Go语言中文社区
写在前面 今天给大家推荐款国内某一线电商平台Redis分布式缓存框架. 推荐理由: 日均访问量100亿.QPS:157W.包含57项业务. 也是工作3-5年以上的程序员必看的源码资料,千万别错过. F ...
- 缓存应用--Memcached分布式缓存简介(二)
1 命令行查看状态 很多时候我们需要去查看Memcached 的使用状态,比如Memcached 的运行时间,使用状态等等.在Windows系统中我们可以使用telnet 命令来查看Memcached ...
- 一致性哈希算法在分布式缓存中的应用
一.应用场景 假设我们有一个网站,最近发现随着流量增加,服务器压力越来越大,之前直接读写数据库的方式不太给力了,于是我们想引入Redis作为缓存机制.现在我们一共有三台机器可以作为Redis服务器,如 ...
- Squid缓存服务器和代理介绍
squid的简单介绍 squid的概念 squid是一种用来缓存Internet数据的软件.接受来自人们需要下载的目标(object)的请求并适当的处理这些请求.也就是说,如果一个人想下载一web界面 ...
- 本地缓存、分布式缓存以及多级缓存
像MySql等传统的关系型数据库已经不能适用于所有的业务场景,比如电商系统的秒杀场景,APP首页的访问流量高峰场景,很容易造成关系型数据库的瘫痪,随着缓存技术的出现很好的解决了这个问题. 一.缓存的概 ...
- 缓存基础----本地缓存、分布式缓存以及多级缓存
目录 一.缓存的概念(什么是缓存) 二.为什么要用缓存(为什么要用redis作为缓存) 三.缓存的分类有哪些 1.本地缓存 2.分布式缓存 3.多级缓存 像MySql等传统的关系型数据库已经不能适用于 ...
- 服务端分布式缓存与本地缓存
缓存技术是保障系统性能的基础技术.核心技术. 缓存发挥的作用 ① 最大程度上避免对数据库的并发查询,从而降低因为数据库资源不足导致的系统故障. ② 提升系统的响应速度,保证用户体验 总之缓存使系统稳定 ...
- 分布式缓存与本地缓存的区别
分布式缓存与本地缓存的区别 转载自:https://ost.51cto.com/posts/1002 缓存的概念: 在服务端中,缓存主要是指将数据库的数据加载到内存中,之后对该数据的访问都在内存中完成 ...
- 本地缓存与分布式缓存的优缺点、适用场景与实现分析
文章目录 一.缓存的概念 二.本地缓存 本地缓存的优缺点 适用场景 本地缓存的实现 三.分布式缓存 分布式缓存的优缺点 分布式缓存的实现 一.缓存的概念 在服务端编程当中,缓存主要是指将数据库的数据加 ...
最新文章
- 自己做网站服务器需要买吗,自己做网站要买服务器
- 计算机视觉编程——增强现实基础
- js 日期时间的格式化
- github 分支管理
- Android日期对话框NumberPicker的用法教程
- Android USB转串口开发(hoho.android.usbserial串口库)
- springboot+事务,多张表的操作事务回滚
- vue PC端国际化一站式解决方案
- Python数模笔记-PuLP库(3)线性规划实例
- Java描述设计模式(13):迭代器模式
- linux下查看某软件是否已安装, ubuntu安装deb包
- 第一部分 线性表的链式存储(三)--静态链表
- oracle数据库导dump,oracle数据导入,导出dump文件
- 【考研经验】2018复旦计算机专硕零基础学渣考研经验贴
- php--adodb如何连接数据库
- 前端安全之常见漏洞及防御
- 微信公众号服务器图文消息发送规则,微信公众服务号怎么一天发一条图文消息?...
- 吴伯凡-认知方法论-认知是一个长期修炼的过程
- 哈夫曼码的编译码系统
- FPGA参数定义 regwire 详解