redis相关以及redis做分布式锁可能出现的问题

链接  : https://blog.csdn.net/ligupeng7929/article/details/79603060

在Redis中,允许用户设置最大使用内存大小server.maxmemory,当Redis 内存数据集大小上升到一定大小的时候,就会施行数据淘汰策略。1.volatile-lru:从已设置过期的数据集中挑选最近最少使用的淘汰2.volatile-ttr:从已设置过期的数据集中挑选将要过期的数据淘汰3.volatile-random:从已设置过期的数据集中任意挑选数据淘汰4.allkeys-lru:从数据集中挑选最近最少使用的数据淘汰5.allkeys-random:从数据集中任意挑选数据淘汰6.noenviction:禁止淘汰数据redis淘汰数据时还会同步到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(驱逐):禁止驱逐数据

redis的数据类型

http://www.imooc.com/article/255861

五大数据类型的区别:

list  ------>有序的集合,可重复数据,可插入多个null值   【linedList 或者ziplist】

set  ----->它是一个无序集合,包含的元素不重复,只能插入一个null值

hash---->  结构  :key  value[field,value]

Sorted sets 类型(有序集合类型) :[ziplist,skiplist+hashtable]

类似于Map的key-value对,key有序 ,不重复

value : 浮点数,称为 score有序 :内部按照score 从小到大的顺序排列  

STring :

使用redis做事务:

redis做缓存可能出现的问题

1:缓存穿透

        问题缓存穿透是指查询一个一定不存在的数据

        解决方案:    空结果进行缓存,但它的过期时间会很短,最长不超过五分钟。

2:缓存雪崩

        问题:缓存雪崩是指在我们设置缓存时采用了相同的过期时间,导致缓存在某一时刻同时失效,请求全部转发到DB,DB瞬时压力过重雪崩。

           解决方案: 原有的失效时间基础上增加一个随机值,比如1-5分钟随机,这样每一个缓存的过期时间的重复率就会降低,就很难引发集体失效的事件。

3:缓存击穿

        问题:缓存在某个时间点过期的时候,恰好在这个时间点对这个Key有大量的并发请求过来,这些请求发现缓存过期一般都会从后端DB加载数据并回设到缓存,这个时候大并发的请求可能会瞬间把后端DB压垮

        解决方案:分布式锁

在访问数据库资源之前,我们使用redis给访问数据库的程序加上锁,以及在结束的时候释放锁

          代码:Long lock = jedis.setnx("lock", "23");

            释放锁:jedis.del("lock");

4:缓存的使用模式

        Cache-Aside和Cache As SoR

Cache-Aside:  业务代码围绕Cache编写,由业务代码维护缓存;

双写模式

5:分布式锁的问题:

5.1:reisdis 或者 redison

redison:Redisson是一个在Redis的基础上实现的Java驻内存数据网格(In-Memory Data Grid)。它不仅提供了一系列的分布式的Java常用对象,还提供了许多分布式服务

6:redis主从复制和Mysql 的主从复制

Mysql 的主从复制:

Mysql数据库的主从复制:

步骤一:主库db的更新事件(update、insert、delete)被写到binlog 

步骤二:从库发起连接,连接到主库 

步骤三:此时主库创建一个binlog dump thread线程,把binlog的内容发送到从库 

四:从库启动之后,创建一个I/O线程,读取主库传过来的binlog内容并写入到relay log. 

五:还会创建一个SQL线程,从relay log里面读取内容,从Exec_Master_Log_Pos位置开始执行读取到的更新事件,将更新内容写入到slave的db. 

redis 的主从复制:

redis主从复制的原理:

全量同步:

-从服务器连接主服务器,发送SYNC命令; 

-  主服务器接收到SYNC命名后,开始执行BGSAVE命令生成RDB文件并使用缓冲区记录此后执行的所有写命令; 

-  主服务器BGSAVE执行完后,向所有从服务器发送快照文件,并在发送期间继续记录被执行的写命令; 

-  从服务器收到快照文件后丢弃所有旧数据,载入收到的快照; 

-  主服务器快照发送完毕后开始向从服务器发送缓冲区中的写命令; 

-  从服务器完成对快照的载入,开始接收命令请求,并执行来自主服务器缓冲区的写命令;

redis的哨兵模式:

redis的数据模型中年String 中的key最多可以放多少个?int 的最大值(2的32次方)

redis有一个他的最大内存,超过之后会怎么样?怎么解决?
1:淘汰策略

2:集群

Redis 的分布式锁:
https://www.cnblogs.com/linjiqin/p/8003838.html

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

推荐阅读更多精彩内容

  • 1.什么是redis? Redis 是一个基于内存的高性能key-value数据库。 2.Reids的特点 Red...
    java成功之路阅读 422评论 0 8
  • 使用缓存是系统性能优化的第一黄金法则。 缓存的设计和使用对一个系统的性能至关重要,平时接触到项目无论多少也都会在某...
    刀刃丿阅读 1,321评论 0 6
  • Redis的那些最常见面试问题 随笔:经过长达一周的奔波和面试,电话面试,回首今天终于成功的入职了,总共面试了大概...
    伐无道阅读 409评论 0 1
  • 秦观有诗云:“自在飞花轻似梦,无边丝雨细如愁。”下雨的日子,好像总带着几许闲愁,烟雨蒙蒙,天空好似蒙上了一层薄纱,...
    忘川清浅阅读 149评论 0 2
  • 壶碎了,可以重做,盖破了,为何不愿意重做?!很多喜欢紫砂壶的朋友,会遇到这样的问题,一把好壶,爱不释手,就因为一个...
    紫砂壶友阅读 218评论 0 0