-
因为一次redis缓存穿透,全面探究redis能做什么
问题背景:网关支付,支付之前需要根据商户去获取支持的银行列表,银行列表是商家首次在我们系统里申请开户的时候配置进去的,第一次获取列表是通过调远程接口查询数据库获取的,获取成功后,结果保存在redis缓存中,有效期设置6小时,以后每次查询都直接访问redis缓存即可。出现问题是有一批新商户没有配置银行列表,发起支付获取银行列表时,首次调用接口获取结果失败,没有放置缓存;商户反复提...
-
前端ES6中Promise的运行原理
Promise的作用它是异步编程的一种方式,它比传统的异步回调和事件更合理也更优雅!从Promise的使用中能看出什么?首先我们手写一个常见的使用方式//demo1new Promise(function (resolve, reject) { resolve('123')}).then(function (value) { return value;}).then(funct...
-
理解JavaScript中的浅拷贝与深拷贝
浅拷贝在使用JavaScript对数组进行操作的时候,如果只是简单的将它赋予其他变量,那么我们只要更改其中的任何一个,然后其他的也会跟着改变,这就导致了问题的发生var arr = ['aa','bb','cc'];var arr2 = arr;arr2[0] = '新来的';console.log(arr);//输出 '新来的','bb','cc'由此可见对数组arr2进行修...