本地缓存,分布式缓存,redis与memcached

NoSQL还是SQL?这一篇讲清楚
缓存技术PK:选择Memcached还是Redis?
除了缓存,Redis 都解决了哪些问题?
学会这15点,让你分分钟拿下Redis数据库
读完这篇文章,就基本搞定了Redis数据库
这可能是目前最全的Redis高可用技术解决方案总结 --redis 高可用架构
redis cli命令

1、一般缓存策略:

  • FIFO(First in First out)先进先出:
    如果一个数据最先进入缓存中,则应该最早淘汰掉

  • LFU(Least Frequently Used)最近最少使用算法:
    如果一个数据在最近一段时间内使用次数很少,那么在将来一段时间内被使用的可能性也很小

  • LRU(Least Recently Used)即最近最久未使用算法:
    如果一个数据在最近一段时间没有被访问到,那么在将来它被访问的可能性也很小

2、Memcached缓存:

MemCache 基础介绍与工作原理

  • 特点:
  • 协议简单
  • 基于libevent的事件处理
  • 内置内存存储方式
  • memcached不互相通信的分布式

Memcached的数据回收机制:

使用的是LRU(即最低近期使用量)算法

  • 数据结构:
  • 1、slab_class里,存放的是一组组chunk大小相同的slab
  • 2、每个slab里面包含若干个page,page的默认大小是1M,如果slab大小100M,就包含100个page
  • 3、每个page里面包含若干个chunk,chunk是数据的实际存放单位,每个slab里面的chunk大小相同

Memcached将键名限制在250字节,值也被限制在不超过1MB,且只适用于普通字符串。相比之下,Redis则将键名与值的最大上限各自设定为512MB,且支持二进制格式。Redis支持六种数据类型

3、Redis缓存:

  • 多样的数据模型
  • 持久化
  • 主从同步
  • Redis通常将数据存储于内存中,或被配置为使用虚拟内存。
  • Redis有一个很重要的特点就是它可以实现持久化数据,
    通过两种方式可以实现数据持久化:
    1、使用RDB快照的方式,将内存中的数据不断写入磁盘;
    2、 或使用类似MySQL的AOF日志方式,记录每次更新的日志。
    前者性能较高,但是可能会引起一定程度的数据丢失;后者相反。
  • Redis支持将数据同步到多台从数据库上,这种特性对提高读取性能非常有益。
  • Redis 提供 6种数据淘汰策略:
  • voltile-lru:从已设置过期时间的数据集(server.db[i].expires)中挑选最近最少使用的数据淘汰
  • volatile-ttl:从已设置过期时间的数据集(server.db[i].expires)中挑选将要过期的数据淘汰
  • volatile-random:从已设置过期时间的数据集(server.db[i].expires)中任意选择数据淘汰
  • allkeys-lru:从数据集(server.db[i].dict)中挑选最近最少使用的数据淘汰
  • allkeys-random:从数据集(server.db[i].dict)中任意选择数据淘汰
  • no-enviction(驱逐):禁止驱逐数据

上面提到的LRU(Least Recently Used)策略,实际上Redis实现的LRU并不是可靠的LRU,也就是名义上我们使用LRU算法淘汰键,但是实际上被淘汰的键并不一定是真正的最久没用的, 这里涉及到一个权衡的问题,如果需要在全部键空间内搜索最优解,则必然会增加系统的开销,Redis是单线程的, 也就是同一个实例在每一个时刻只能服务于一个客户端,所以耗时的操作一定要谨慎 。为了在一定成本内实现相对的LRU, 早期的Redis版本是基于采样的LRU,也就是放弃全部键空间内搜索解改为采样空间搜索最优解。自从Redis3.0版本之后, Redis作者对于基于采样的LRU进行了一些优化,目的是在一定的成本内让结果更靠近真实的LRU。

  • 策略规则:
  • 如果数据呈现幂律分布,也就是一部分数据访问频率高,一部分数据访问频率低,则使用allkeys-lru
  • 如果数据呈现平等分布,也就是所有的数据访问频率都相同,则使用allkeys-random
  • volatile-lru策略和volatile-random策略适合我们将一个Redis实例既应用于缓存和又应用于持久化存储的时候,然而我们也可以通过使用两个Redis实例来达到相同的效果,
  • 将key设置过期时间实际上会消耗更多的内存,因此我们建议使用allkeys-lru策略从而更有效率的使用内存
  • 失效的内部实现:
  • 消极方法(passive way),在主键被访问时如果发现它已经失效,那么就删除它
  • 积极方法(active way),周期性地从设置了失效时间的主键中选择一部分失效的主键删除
  • 主动删除:当前已用内存超过maxmemory限定时,触发主动清理策略,该策略由启动参数的配置决定
  • Redis集群方案

Redis集群方案总结
Redis集群方案怎么做?大牛给你介绍五种方案!
Redis主从复制(一) -- 棒棒的

  • 五种方案:
    官方cluster方案
    twemproxy代理方案
    哨兵模式
    codis
    客户端分片
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,736评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,167评论 1 291
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,442评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,902评论 0 204
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,302评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,573评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,847评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,562评论 0 197
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,260评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,531评论 2 245
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,021评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,367评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,016评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,068评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,827评论 0 194
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,610评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,514评论 2 269

推荐阅读更多精彩内容

  • 开心果果五个月大,胖乎乎的脸蛋像蜡笔小新,笑起来眼睛眯成一条缝,满脸喜感,让人忍不住的想去亲一口。 果果爸是先生的...
    溪南客阅读 269评论 2 4
  • 生活是无处不在的 当生活抛弃了你,你会…… 很多人认为,生活就是舞台,就是展现自我的地...
    冰琳梦茨阅读 143评论 0 0
  • 天幕苍茫 霞光如沧海 青草微露 一把小红伞 目光穿过了时空 痴痴望,痴痴盼 痴痴的等待你归来 相爱的故事在域外 可...
    血染木棉红阅读 441评论 0 0
  • 假如你不够快乐 两首诗 忘了什么名字的诗
    听说我是金子会发光阅读 299评论 0 1