自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 收藏
  • 关注

原创 缓存穿透、缓存击穿、缓存雪崩

缓存穿透缓存穿透的概念很简单,用户想要查询一个数据,发现redis内存数据库没有,也就是缓存没有命中,于是向持久层数据库查询。发现也没有,于是本次查询失败。当用户很多的时候,缓存都没有命中,于是都去请求了持久层数据库。这会给持久层数据库造成很大的压力,这时候就相当于出现了缓存穿透。解决方法当存储层不命中后,即使返回的空对象也将其缓存起来,同时会设置一个过期时间,之后再访问这个数据将会从缓存中获取,保护了后端数据源;问题1、如果空值能够被缓存起来,这就意味着缓存需要更多的空间存储

2020-11-06 14:56:02 145

原创 redis持久化

RDB(Redis DataBase)在指定的时间间隔内将内存中的数据集快照写入磁盘,也就是行话讲的Snapshot快照,它恢复时是将快照文件直接读到内存里。Redis会单独创建(fork)一个子进程来进行持久化,会先将数据写入到一个临时文件中,待持久化过程都结束了,再用这个临时文件替换上次持久化好的文件。整个过程中,主进程是不进行任何IO操作的。这就确保了极高的性能。如果需要进行大规模数据的恢复,且对于数据恢复的完整性不是非常敏感,那RDB方式要比AOF方式更加的高效。RDB的缺点是最后一

2020-11-06 14:32:31 193

原创 leetcode_554. 砖墙

问题描述:你的面前有一堵矩形的、由多行砖块组成的砖墙。这些砖块高度相同但是宽度不同。你现在要画一条自顶向下的、穿过最少砖块的垂线。砖墙由行的列表表示。 每一行都是一个代表从左至右每块砖的宽度的整数列表。如果你画的线只是从砖块的边缘经过,就不算穿过这块砖。你需要找出怎样画才能使这条线穿过的砖块数量最少,并且返回穿过的砖块数量。你不能沿着墙的两个垂直边缘之一画线,这样显然是没有穿过一块砖的。示例:输入: [[1,2,2,1], [3,1,2], [1,3,...

2020-10-14 21:18:30 137

原创 leetcode_820. 单词的压缩编码

问题描述:给定一个单词列表,我们将这个列表编码成一个索引字符串S与一个索引列表 A。例如,如果这个列表是 ["time", "me", "bell"],我们就可以将其表示为 S = "time#bell#" 和 indexes = [0, 2, 5]。对于每一个索引,我们可以通过从字符串 S中索引的位置开始读取字符串,直到 "#" 结束,来恢复我们之前的单词列表。那么成功对给定单词列表进行编码的最小字符串长度是多少呢?示例:输入: words = ["time", "me...

2020-10-14 21:10:10 109

原创 leetcode_1106. 解析布尔表达式

问题描述:给你一个以字符串形式表述的布尔表达式(boolean) expression,返回该式的运算结果。有效的表达式需遵循以下约定:"t",运算结果为 True"f",运算结果为 False"!(expr)",运算过程为对内部表达式 expr 进行逻辑 非的运算(NOT)"&(expr1,expr2,...)",运算过程为对 2 个或以上内部表达式 expr1, expr2, ... 进行逻辑 与的运算(AND)"|(expr1,expr2,...)",运算过程为对 2 个.

2020-10-14 21:03:00 369

原创 leetcode_592. 分数加减运算

问题描述:给定一个表示分数加减运算表达式的字符串,你需要返回一个字符串形式的计算结果。这个结果应该是不可约分的分数,即最简分数。如果最终结果是一个整数,例如2,你需要将它转换成分数形式,其分母为1。所以在上述例子中, 2应该被转换为2/1。示例1:输入:"-1/2+1/2"输出: "0/1"示例 2:输入:"-1/2+1/2+1/3"输出: "1/3"示例 3:输入:"1/3-1/2"输出: "-1/6"示例 4:输入:"5/3+1/3"输出: "2/1...

2020-10-14 00:00:12 240

原创 leetcode_640. 求解方程

问题描述:求解一个给定的方程,将x以字符串"x=#value"的形式返回。该方程仅包含'+',' - '操作,变量x和其对应系数。如果方程没有解,请返回“No solution”。如果方程有无限解,则返回“Infinite solutions”。如果方程中只有一个解,要保证返回值x是一个整数。示例 1:输入: "x+5-3+x=6+x-2"输出: "x=2"示例 2:输入: "x=x"输出: "Infinite solutions"示例 3:输入: "2x=x...

2020-10-13 22:34:54 152

原创 leetcode_1111. 有效括号的嵌套深度

问题描述:有效括号字符串 定义:对于每个左括号,都能找到与之对应的右括号,反之亦然。详情参见题末「有效括号字符串」部分。嵌套深度 depth 定义:即有效括号字符串嵌套的层数,depth(A) 表示有效括号字符串 A 的嵌套深度。详情参见题末「嵌套深度」部分。有效括号字符串类型与对应的嵌套深度计算方法如下图所示:给你一个「有效括号字符串」 seq,请你将其分成两个不相交的有效括号字符串,A 和B,并使这两个字符串的深度最小。不相交:每个 seq[i] 只能分给 A 和 B 二者中的一个,不能既.

2020-10-13 18:53:49 184

原创 leetcode_20. 有效的括号

问题描述:给定一个只包括 '(',')','{','}','[',']'的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。示例 1:输入: "()"输出: true示例2:输入: "()[]{}"输出: true示例3:输入: "(]"输出: false示例4:输入: "([)]"输出: false示例5:输入: "{[]}"输出: true来...

2020-10-13 18:00:48 97

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除