- 博客(14)
- 资源 (13)
- 收藏
- 关注
原创 Redis之缓存穿透、缓存击穿、缓存失效
一、缓存数据的步骤 1)、查询缓存,如果没有数据,则查询数据库; 2)、查询数据库,如果数据不为空,将结果写入缓存。 二、缓存穿透 2.1 什么叫缓存穿透? 一般的缓存系统,都是按照key去缓存查询,如果不存在对应的value,就应该去后端系统查找(比如DB)。如果key对应的value是一定不存在的,并且对该key并发请求量很大,就会对后端系统或者数据库造成很大的压力。这就叫做...
2019-06-13 10:20:35 449
原创 Redis分布式锁最佳实践
1.1分布式锁的注意事项 互斥性:在任意时刻,只有一个客户端能持有同一把锁; 同一性:加锁和解锁必须是同一个客户端,客户端自己不能把别人加的锁给释放了。 可重入性:即使有一个客户端在持有锁的期间崩溃而没有主动解锁,也能保证后续其他客户端能成功加锁(锁到期会自动释放)。 1.2 实现原理 1.3 代码实现 import redis.clients.jedis.Jedis; imp...
2019-06-12 10:15:27 448
原创 JavaScript重点摘要之基础
1:JavaScript的变量没有块范围(没有块级作用域); 不要这么写 var a=b=1; 改为 var a=1, b=3; 2:全等于比较 === 3:== 比较 xx != undefined <====> xx !== undefined , or xx !== null 4. 数据类型 基本数据类型(number,string,boolean)没有属性和方法,...
2018-12-19 11:01:32 207
原创 静态库与动态库总结(Linux平台)
一、静态库的编译 1.编译过程(*.a(静态库扩展名) achieve) 1.1.编译成目标文件 -static 可选 gcc -c -static 代码文件.c -c 只编译不连接 1.2.归档成静态库(专门工具ar与nm) ar工具 ar -r -t
2014-08-23 09:57:52 480
一线互联网大厂算法面试问题Java实现
2018-12-21
LeetCode上经典面试问题Java语言实现
2018-12-21
Cracking-the-coding-interview-Java语言版本
2018-12-21
Java相关、分布式架构、网络存储、数据结构与算法、面试相关等个人总结的MD文档
2018-12-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人