照顾好应用的缓存-应付大流量

概述为了提升系统的响应速度,通常会系统中使用缓存,例如:中央缓存,本地缓存等。但是使用缓存有好有坏,坏处是,如果缓存数据是旧的,那么应用输出的数据便是错误的数据,可能造成严重的影响。本文介绍一些让缓存保持新鲜以及使用缓存的一些技巧。利用MQ实时刷新缓存一旦db数据发生变化,则可以发送一条mq消息,通知消费者,信息有变动,消费者感知到后,立刻调用刷新缓存的接口,把数据涮新到中央缓存里。这里有三个点要注...
阅读(991) 评论(0)

一致性hash之对象与缓存的映射

背景当有多台缓存机器,当把对象存储到这些缓存机器上时,必须考虑映射算法,以便保证当缓存服务器的数量有增减的时候,尽量保证请求的数据能够在缓存中找到。映射算法 一假设有一个对象objA需要存储到两台缓存服务器中,那么我们可以为objA分配一个key,例如叫objA-key,然后使用下面算法hash(objA-key)%cacheServerCount这里的cacheServerCount是指缓存服务器...
阅读(411) 评论(0)

只用一台memcache服务器可以吗

现在的互联网项目,一般都会使用缓存,其中memcache是使用比较广泛的一个。实际应用中,一般很少只使用一台memcache服务器,下面我说说自己的一些理解。部分容灾假设只用一台memcache,如果这台memcache服务器挂掉了,那么请求将不断的冲击数据库,这样有可能搞死数据库,从而引发”雪崩”。如果使用多台memcache服务器,由于memcache使用一致性哈希算法,万一其中一台挂掉了,部分...
阅读(915) 评论(0)

memcache-概述

memcache是一个高性能的分布式缓存系统,给予key-value存储。memcache的api支持各种语言编写的客户端。组成部分 连接memcache的客户端软件 基于客户端系统的hash算法,主要用于根据key去寻找服务端的memcache服务器 LRU,决定什么时候丢弃掉旧数据 客户端和服务端的逻辑各占一半整个memcache实现,一部分是在客户端,一部分是在服务端。客户端根据一个key,可...
阅读(187) 评论(0)
    个人资料
    • 访问:318786次
    • 积分:3484
    • 等级:
    • 排名:第9907名
    • 原创:118篇
    • 转载:5篇
    • 译文:0篇
    • 评论:163条
    博客专栏