`
carlosfu
  • 浏览: 571750 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
Ba8b5055-9c58-3ab0-8a1c-e710f0495d2c
BigMemory实战与理...
浏览量:30012
53b2087e-c637-34d2-b61d-257846f73ade
RedisCluster开...
浏览量:149105
C9f66038-7478-3388-8086-d20c1f535495
缓存的使用与设计
浏览量:122697
社区版块
存档分类
最新评论

缓存系列文章--1.缓存的一些基本常识

阅读更多

 

转载请注明出处哈:http://carlosfu.iteye.com/blog/2269678

更多Redis的开发、运维、架构以及新动态,欢迎关注微信公众号:

 

 

 一、基本概念

 

1. Cache(缓存): 从cpu的一级和二级缓存、Internet的DNS、到浏览器缓存都可以看做是一种缓存。

维基百科: 写道
a store of things that will be required in the future, and can be retrieved rapidly.
存贮数据(使用频繁的数据)的临时地方,因为取原始数据的代价太大了,所以我可以取得快一些

     

 

 

2. Cache hit(缓存命中)(下图左)

When a data element is requested from cache and the elements exists for the given key.

3. Cahe miss(缓存未命中): 与Cache hit相反(下图右)

 

4. 缓存算法:缓存容量超过预设,如何踢掉“无用”的数据。

例如:LRU(Least Recently Used) FIFO(First Input First Output)Least Frequently Used(LFU) 等等  


5. System-of-Record(真实数据源): 例如关系型数据库、其他持久性系统等等。

   也有英文书叫做authority data(权威数据)

 

6. serialization-and-deserialization(序列化与反序列化):可以参考:序列化与反序列化(美团工程师写的,非常棒的文章)

    后面也有单独文章去分析。

   

 

 

6. Scale Up (垂直扩容) 和 Scale out (水平扩容)

 

  驴拉车,通常不是把一头驴养壮(有极限),而通常是一群驴去拉(当然每个个体也不能太差)。 

 

 

 

服务器也是一样的道理,至少互联网是这样:

7. Write-through 和 write-behind

 

8.阿姆而达定律:用于计算缓存加速比

 

 

二、缓存的种类或者类型

 

1. LocalCache(独立式): 例如Ehcache、BigMemory Go

(1) 缓存和应用在一个JVM中。

(2) 缓存间是不通信的,独立的。

(3) 弱一致性。

 

2. Standalone(单机): 

(1) 缓存和应用是独立部署的。

(2) 缓存可以是单台。(例如memcache/redis单机等等)

(3) 强一致性

(4) 无高可用、无分布式。

(5) 跨进程、跨网络

 

3. Distributed(分布式):例如Redis-Cluster, memcache集群等等

(1) 缓存和应用是独立部署的。

(2) 多个实例。(例如memcache/redis等等)

(3) 强一致性或者最终一致性

(4) 支持Scale Out、高可用。

(5) 跨进程、跨网络

 

4. Replicated(复制式): 缓存数据时同时存放在多个应用节点的,数据复制和失效的事件以同步或者异步的形式在各个集群节点间传播。(也是弱一致性)

这种用的不太多。

 

 

三、数据层访问速度:(作为开发人员要记住这些量级)

 

 

  • 大小: 41.1 KB
  • 大小: 480.9 KB
  • 大小: 18.7 KB
  • 大小: 13 KB
  • 大小: 163 KB
  • 大小: 14.6 KB
  • 大小: 110.8 KB
  • 大小: 22 KB
  • 大小: 45.8 KB
  • 大小: 32.3 KB
  • 大小: 269.4 KB
  • 大小: 113.8 KB
  • 大小: 26.7 KB
分享到:
评论
2 楼 Dragonmandance 2016-08-22  
1 楼 masuweng 2016-08-18  
   

相关推荐

    Redis实战-带目录完整版.pdf

    第一部分对Redis进行了介 绍,说明了Redis的基本使用方法、它拥有的5种数据结构以及操作这5种数据结构的命令,并讲解了如何使用Redis去构建文章展示网站、cookie、购物车、网页缓存、数据库行缓存等一系列程序。...

    Android代码-中文的Fresco源码解读

    本系列文章目的是分析源码,具体使用方法虽然会涉及,但不多。你应该在对Fresco的使用方法有一定了解之后再来阅读这些文章,推荐Fresco中文文档来了解它的使用方法。 Fresco中几个基本设计模式 在Wiki-设计模式中...

    Linux操作系统基础教程

    Linux 操作系统基础教程 清华大学信息学院计算机系 目 录 前言....................................................................................数据量,而一个完整的发行版本大概都是 1Gbit 左右的数据量...

    7days-golang:从头开始的7天golang程序(Web框架Gee,分布式缓存GeeCache,对象关系映射ORM框架GeeORM,rpc框架GeeRPC等)7天用Go动手写从零实现系列

    推荐先阅读,这篇文章了解Go的基本语法,并发编程,依赖管理等内容。推荐,加深对Go语言的理解。推荐(),写出高级的Go代码。期待关注我的“”和“”,查看最近的文章和动态。7天用Go从零实现Web框架-Gee 是一个...

    Redis实战_Josiah L. Carlson / 黄健宏 / 人民邮电出版社 / 2015-10

    第一部分对Redis进行了介 绍,说明了Redis的基本使用方法、它拥有的5种数据结构以及操作这5种数据结构的命令,并讲解了如何使用Redis去构建文章展示网站、cookie、购物车、网页缓存、数据库行缓存等一系列程序。...

    asp.net知识库

    根据基本表结构及其数据生成 INSERT ... 的 SQL 简便的MS SQL 数据库 表内容 脚本 生成器 将表数据生成SQL脚本的存储过程 直接从SQL语句问题贴子数据建表并生成建表语句的存储过程 从SQL中的一个表中导出HTML文件...

    医疗口腔门诊网站系统 v1.0.zip

    系统具有文章、图文、表单、咨询等基本系统模块和一系列网站辅助功能,用户也可根据自身特点任意创建和修改栏目,适合创建各类医院诊所网站。 医疗口腔门诊网站系统安装步骤: 1、将压缩包文件解压到服务器根目录...

    Redis实战 Josiah L. Carlson

    第一部分对Redis进行了介 绍,说明了Redis的基本使用方法、它拥有的5种数据结构以及操作这5种数据结构的命令,并讲解了如何使用Redis去构建文章展示网站、cookie、购物车、网页缓存、数据库行缓存等一系列程序。...

    Redis实战-黄建宏-最新版

    第一部分对Redis进行了介 绍,说明了Redis的基本使用方法、它拥有的5种数据结构以及操作这5种数据结构的命令,并讲解了如何使用Redis去构建文章展示网站、cookie、购物车、网页缓存、数据库行缓存等一系列程序。...

    操作系统(内存管理)

    内存管理是计算机编程最为基本的领域之一。在很多脚本语言中,您不必担心内存是如何管理的,这并不能使得内存管理的重要性有一点点降低。对实际编程来说,理解您的内存管理器的能力与局限性至关重要。在大部分系统...

    微信小程序开发入门与实践.雷磊(详细书签)

    让你减少试错时间,快速开发出自己的小程序 内容简介 本书主要围绕Orange Can项目展开一系列编码工作,用几近真实的项目介绍小程序的各个API、组件用法,并附带一些小程序开发的经验、技巧以及常见的误区说明。...

    Redis实战.azw3

    第一部分对Redis进行了介 绍,说明了Redis的基本使用方法、它拥有的5种数据结构以及操作这5种数据结构的命令,并讲解了如何使用Redis去构建文章展示网站、cookie、购物车、网页缓存、数据库行缓存等一系列程序。...

    redis实战-非常难得

    第一部分对Redis进行了介 绍,说明了Redis的基本使用方法、它拥有的5种数据结构以及操作这5种数据结构的命令,并讲解了如何使用Redis去构建文章展示网站、cookie、购物车、网页缓存、数据库行缓存等一系列程序。...

    Redis实战.[美]Josiah L. Carlson(带详细书签)

    第一部分对Redis进行了介 绍,说明了Redis的基本使用方法、它拥有的5种数据结构以及操作这5种数据结构的命令,并讲解了如何使用Redis去构建文章展示网站、cookie、购物车、网页缓存、数据库行缓存等一系列程序。...

    Redis实战 (中文 完整 带标签).pdf

    首部分对Redis进行了介绍,说明了Redis的基本使用方法、它拥有的5种数据结构以及操作这5种数据结构的命令,并讲解了如何使用Redis去构建文章展示网站、cookie、购物车、网页缓存、数据库行缓存等一系列程序。...

    JAVA上百实例源码以及开源项目

    此时此景,笔者只专注Android、Iphone等移动平台开发,看着这些源码心中有万分感慨,写此文章纪念那时那景! Java 源码包 Applet钢琴模拟程序java源码 2个目标文件,提供基本的音乐编辑功能。编辑音乐软件的朋友,这...

    Redis实战-完整版(扫描版)

    第一部分对Redis进行了介 绍,说明了Redis的基本使用方法、它拥有的5种数据结构以及操作这5种数据结构的命令,并讲解了如何使用Redis去构建文章展示网站、cookie、购物车、网页缓存、数据库行缓存等一系列程序。...

    JAVA上百实例源码以及开源项目源代码

    此时此景,笔者只专注Android、Iphone等移动平台开发,看着这些源码心中有万分感慨,写此文章纪念那时那景! Java 源码包 Applet钢琴模拟程序java源码 2个目标文件,提供基本的音乐编辑功能。编辑音乐软件的朋友,这...

Global site tag (gtag.js) - Google Analytics