当前位置: 首页 > news >正文

淘宝网站是用什么开发的做视频解析网站犯法吗

淘宝网站是用什么开发的,做视频解析网站犯法吗,什么是手机网站,百度账号官网缓存穿透请求的数据在Redis里面没有#xff0c;这种请求直接打到数据库#xff0c;然后数据库里面也没有这个数据#xff0c;数据库只能返回空#xff0c;如果继续请求#xff0c;就会一直打到数据库#xff0c;可能数据库就会因此被打崩。缓存雪崩缓存击穿第二种办法保证…缓存穿透请求的数据在Redis里面没有这种请求直接打到数据库然后数据库里面也没有这个数据数据库只能返回空如果继续请求就会一直打到数据库可能数据库就会因此被打崩。缓存雪崩缓存击穿第二种办法保证了绝对不会因为过期问题使访问直接打到数据库但是为了实现过期这个功能我们就得用更复杂的办法额外维护一个过期时间来实现过期这个功能。逻辑过期里面也有锁的使用但是是交给别的线程所以不在我们的对比行列里面。互斥锁解决击穿问题Redis设置锁的方法SETNX 是 Redis 的一个字符串String操作命令它的全称是 SET if Not eXists。功能当且仅当指定的 key 不存在时为这个 key 设置一个值。返回值1表示设置成功key 原本不存在。0表示设置失败key 已经存在。这是一个原子性操作意味着它是不可分割的。在并发环境下多个客户端同时执行 SETNX 时Redis 能确保只有一个客户端会成功。关于拆箱核心概念值类型 vs 引用类型许多语言中数据类型分为两大类值类型变量直接存储数据本身。例如int, float, char, bool 等基本数据类型。就像你口袋里直接揣着现金。引用类型变量存储的是一个内存地址引用这个地址指向实际的数据所在的内存位置。例如类、接口、数组、字符串。就像你口袋里揣着一张银行卡钱存在银行的保险柜里。 为什么需要装箱和拆箱有时候我们需要在需要引用类型的地方使用一个值类型。一个经典例子Java 中的集合如 ArrayList Java 的 ArrayList 类的 add 方法定义是 add(Object obj)它只能接收引用类型因为 Object 是所有类的超类。但如果我们想往里面存一个整数int它是值类型该怎么办这就需要 “装箱”—— 把值类型“包装”成一个引用类型的对象。装箱装箱 就是将值类型转换为对应的引用类型的过程。这个过程通常是隐式的编译器自动完成。Java 示例在 Java 中称为“自动装箱”拆箱拆箱 是装箱的逆过程它将引用类型转换回对应的值类型。这个过程有时需要显式地进行需要手动指定目标类型。Java 示例在 Java 中称为“自动拆箱”拆箱操作本质上是一个强制类型转换。你告诉编译器“相信我这个引用类型变量里面装的一定是某个特定的值类型现在请把它拿出来。”编译器在编译时无法100%确定你的这个“信任”是否正确所以它允许代码通过编译。但如果在运行时发现你的“信任”是错的就会立即抛出一个异常来中断程序。操作代码背后原理比喻手动装箱Integer box Integer.valueOf(100);调用静态工厂方法valueOf创建一个新对象。去工厂订做一个盒子。自动装箱Integer box 100;编译器帮你写Integer.valueOf(100)。告诉助理“我要个盒子”助理帮你订做。手动拆箱int i box.intValue();调用对象实例方法intValue()取出其内部值。自己动手打开盒子拿钱。自动拆箱int i box;编译器帮你写box.intValue()。特性boolean (基本类型)Boolean (包装类)数据类型基本数据类型类引用类型默认值falsenull存储位置栈内存堆内存对象本身栈上存引用占用空间约1位实际按1字节处理一整个对象的内存开销更大比较方式 比较值 比较内存地址equals() 比较包装的值功能仅能表示 true/false是一个类拥有方法如 toString(), parseBoolean()允许为null不允许允许用途普通的条件判断、循环控制需要对象的地方如泛型、集合 public R,ID R queryWithPassThrough(String keyPrefix, ID id, ClassR type, FunctionID, R dbFallback, Long time, TimeUnit unit){String key keyPrefix id;// 1.从redis查询商铺缓存String json stringRedisTemplate.opsForValue().get(key);// 2.判断是否存在if (StrUtil.isNotBlank(json)) {// 3.存在直接返回return JSONUtil.toBean(json, type);}// 判断命中的是否是空值if (json ! null) {// 返回一个错误信息return null;}// 4.不存在根据id查询数据库R r dbFallback.apply(id);// 5.不存在返回错误if (r null) {// 将空值写入redisstringRedisTemplate.opsForValue().set(key, , CACHE_NULL_TTL, TimeUnit.MINUTES);// 返回错误信息return null;}// 6.存在写入redisthis.set(key, r, time, unit);return r;} 逻辑过期解决击穿问题
http://www.zqtcl.cn/news/451314/

相关文章:

  • 高清网站建设的好处wordpress 房产模板
  • 在建工程查询网站怎么自己开发网站
  • 旧电脑怎么做网站如何自己弄个免费网站
  • 聊城网站营销WordPress工作发布
  • 建造网站需要什么汽车网站建设
  • 网站建设app郑州发布评论
  • 福州网站制作建设网页设计图片是怎么显示的
  • 天津通用网站建设收费网站建设怎么在png上写文字
  • 浏阳做网站报价高校网站站群建设公司
  • 海口网站提升排名网站建设与管理考试题
  • 做网站的算什么行业ui视觉设计常用软件是什么
  • 成都网站建设公司哪家好西安搬家公司哪家便宜
  • 程序员自己做网站怎么能来钱上海猎头公司哪家好
  • 无忧网站建设哪家好手机网站php开发
  • 如何仿制一个网站wordpress+主题课堂
  • 公明做网站渭南网站开发
  • 网站优化排名多少钱查备案网站备案
  • 北京网站建设市场培训机构参与课后服务
  • wordpress如何添加网站地图上海网站开发设计公司
  • 网站设置反爬虫的主要原因深圳外贸公司上班工资高吗
  • 济南建站价格同仁网站建设公司
  • 石家庄建站软件中国纪检监察报怎么订阅
  • 国内建网站费用厦门房地产网站建设
  • 宝山网站制作网站优化待遇
  • 网站建设项目竞争性招标文件界面设计的重要性
  • 网站建设合同机械设备网络推广方案
  • 阿里巴巴做网站的绿色的医疗资讯手机网站wap模板html源码下载
  • 怎么样自己做企业网站dz采集wordpress
  • 欧 美 做 爱 视频网站阿里巴巴电子商务网站建设目的
  • 动易网站后台修改栏目的字定制型网站设计价格