缓存的意义

缓存存在的意义

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的数据。

本地缓存、服务器缓存、分布式缓存介绍相关推荐

  1. java 项目做多级缓存_【开源项目系列】如何基于 Spring Cache 实现多级缓存(同时整合本地缓存 Ehcache 和分布式缓存 Redis)...

    一.缓存 当系统的并发量上来了,如果我们频繁地去访问数据库,那么会使数据库的压力不断增大,在高峰时甚至可以出现数据库崩溃的现象.所以一般我们会使用缓存来解决这个数据库并发访问问题,用户访问进来,会先从 ...

  2. java 分布式缓存 开源_分布式缓存开源框架Flasher介绍-Go语言中文社区

    写在前面 今天给大家推荐款国内某一线电商平台Redis分布式缓存框架. 推荐理由: 日均访问量100亿.QPS:157W.包含57项业务. 也是工作3-5年以上的程序员必看的源码资料,千万别错过. F ...

  3. 缓存应用--Memcached分布式缓存简介(二)

    1 命令行查看状态 很多时候我们需要去查看Memcached 的使用状态,比如Memcached 的运行时间,使用状态等等.在Windows系统中我们可以使用telnet 命令来查看Memcached ...

  4. 一致性哈希算法在分布式缓存中的应用

    一.应用场景 假设我们有一个网站,最近发现随着流量增加,服务器压力越来越大,之前直接读写数据库的方式不太给力了,于是我们想引入Redis作为缓存机制.现在我们一共有三台机器可以作为Redis服务器,如 ...

  5. Squid缓存服务器和代理介绍

    squid的简单介绍 squid的概念 squid是一种用来缓存Internet数据的软件.接受来自人们需要下载的目标(object)的请求并适当的处理这些请求.也就是说,如果一个人想下载一web界面 ...

  6. 本地缓存、分布式缓存以及多级缓存

    像MySql等传统的关系型数据库已经不能适用于所有的业务场景,比如电商系统的秒杀场景,APP首页的访问流量高峰场景,很容易造成关系型数据库的瘫痪,随着缓存技术的出现很好的解决了这个问题. 一.缓存的概 ...

  7. 缓存基础----本地缓存、分布式缓存以及多级缓存

    目录 一.缓存的概念(什么是缓存) 二.为什么要用缓存(为什么要用redis作为缓存) 三.缓存的分类有哪些 1.本地缓存 2.分布式缓存 3.多级缓存 像MySql等传统的关系型数据库已经不能适用于 ...

  8. 服务端分布式缓存与本地缓存

    缓存技术是保障系统性能的基础技术.核心技术. 缓存发挥的作用 ① 最大程度上避免对数据库的并发查询,从而降低因为数据库资源不足导致的系统故障. ② 提升系统的响应速度,保证用户体验 总之缓存使系统稳定 ...

  9. 分布式缓存与本地缓存的区别

    分布式缓存与本地缓存的区别 转载自:https://ost.51cto.com/posts/1002 缓存的概念: 在服务端中,缓存主要是指将数据库的数据加载到内存中,之后对该数据的访问都在内存中完成 ...

  10. 本地缓存与分布式缓存的优缺点、适用场景与实现分析

    文章目录 一.缓存的概念 二.本地缓存 本地缓存的优缺点 适用场景 本地缓存的实现 三.分布式缓存 分布式缓存的优缺点 分布式缓存的实现 一.缓存的概念 在服务端编程当中,缓存主要是指将数据库的数据加 ...

最新文章

  1. 自己做网站服务器需要买吗,自己做网站要买服务器
  2. 计算机视觉编程——增强现实基础
  3. js 日期时间的格式化
  4. github 分支管理
  5. Android日期对话框NumberPicker的用法教程
  6. Android USB转串口开发(hoho.android.usbserial串口库)
  7. springboot+事务,多张表的操作事务回滚
  8. vue PC端国际化一站式解决方案
  9. Python数模笔记-PuLP库(3)线性规划实例
  10. Java描述设计模式(13):迭代器模式
  11. linux下查看某软件是否已安装, ubuntu安装deb包
  12. 第一部分 线性表的链式存储(三)--静态链表
  13. oracle数据库导dump,oracle数据导入,导出dump文件
  14. 【考研经验】2018复旦计算机专硕零基础学渣考研经验贴
  15. php--adodb如何连接数据库
  16. 前端安全之常见漏洞及防御
  17. 微信公众号服务器图文消息发送规则,微信公众服务号怎么一天发一条图文消息?...
  18. 吴伯凡-认知方法论-认知是一个长期修炼的过程
  19. 哈夫曼码的编译码系统
  20. FPGA参数定义 regwire 详解

热门文章

  1. 细胞分裂3[详细剧情过关动画与任务布置详尽翻译]by kuangtian
  2. 《化工流体力学》课程笔记(四)
  3. 浴火重生,燃起奋斗的欲望
  4. jpg格式图片压缩怎么弄?怎么把jpg图片压缩小?
  5. 【人事管理系统2.0 Linq to SQL】企业人事管理系统
  6. React Hook之Effect Hook
  7. 大数据十年回顾(3):社区技术生态发展
  8. HDMI Type A、B、C、D接口图
  9. sha1安全码校验工具(apk)
  10. 字符集本地化(locale)与输入法系列讲座-----(3) truetype造字程序详解