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

庆阳网站建设报价网上申请店铺开网店的流程

庆阳网站建设报价,网上申请店铺开网店的流程,wordpress acf使用,wordpress altair目录 引出信号量Semaphore #xff1f;Redis冲冲冲——缓存三兄弟#xff1a;缓存击穿、穿透、雪崩缓存击穿缓存穿透缓存雪崩 总结 引出 Java多线程——信号量Semaphore是啥 信号量Semaphore #xff1f; Semaphore 通常我们叫它信号量#xff0c; 可以用来控制同时访问特… 目录 引出信号量Semaphore Redis冲冲冲——缓存三兄弟缓存击穿、穿透、雪崩缓存击穿缓存穿透缓存雪崩 总结 引出 Java多线程——信号量Semaphore是啥 信号量Semaphore Semaphore 通常我们叫它信号量 可以用来控制同时访问特定资源的线程数量通过协调各个线程以保证合理的使用资源。线程限流如连接池、停车场。 public class App11 {public static void main(String[] args) throws InterruptedException {//1. 创建信号量设置并发线程数允许最大并发线程数是3Semaphore semaphore new Semaphore(3);//2. 循环创建6个线程会看到每次执行3个线程for (int i 0; i 6; i) {new Thread(() - {try {//3. 获取许可在达到限制并发线程数之前将可以正常执行线程否则要等待其他线程释放许可semaphore.acquire();System.out.println(Thread.currentThread().getName() :进入停车场);TimeUnit.SECONDS.sleep(3);System.out.println(Thread.currentThread().getName() :离开停车场);} catch (InterruptedException e) {e.printStackTrace();} finally {//4. 释放许可semaphore.release();}}, 车辆 i).start();}} }在上述示例中Semaphore 用于限制同时可以获取许可的线程数量。每个线程在执行前通过 semaphore.acquire() 获取一个许可执行后通过 semaphore.release() 释放许可。这样最多只有指定数量的线程可以同时访问资源其他线程需要等待。 Redis冲冲冲——缓存三兄弟缓存击穿、穿透、雪崩 缓存击穿 缓存击穿redis中没有但是数据库有 顺序先查缓存判断缓存是否存在如果缓存存在直接返回数据如果缓存不存在則查询数据库将数据库的数据存入到缓存 解决方案将热点数据设置过期时间长一点针对数据库的热点访问方法上分布式锁 缓存穿透 缓存穿透redis中没有数据库也没有 解决方案 1将不存在的key在redis设置值为null 2使用布隆过滤器; 原理https://zhuanlan.zhihu.com/p/616911933 布隆过滤器 如果确认key不存在于redis中那么就一定不存在 它说key存在就有可能存在也可能不存在 误差 布隆过滤器 1、根据配置类中的 key的数量 误差率计算位图数组【二维数组】 2、通过布隆过滤器存放key的时候会计算出需要多少个hash函数由hash函数算出多少个位图位置需要设定为1 3、查询时根据对应的hash函数判断对应的位置值是否都为1如果有位置为0则表示key一定不存在于该redis服务器中如果全部位置都为1则表示key可能存在于redis服务器中 缓存雪崩 缓存雪崩 Redis的缓存雪崩是指当Redis中大量缓存数据同时失效或者被清空时大量的请求会直接打到数据库上导致数据库瞬时压力过大甚至宕机的情况。 造成缓存雪崩的原因主要有两个 1.相同的过期时间当Redis中大量的缓存数据设置相同的过期时间时这些数据很可能会在同一时间点同时失效导致大量请求直接打到数据库上。 2.缓存集中失效当服务器重启、网络故障等因素导致Redis服务不可用且缓存数据没有自动进行容错处理当服务恢复时大量的数据同时被重新加载到缓存中也会导致大量请求直接打到数据库上。 预防缓存雪崩的方法主要有以下几种 1.设置不同的过期时间可以将缓存数据的过期时间分散开避免大量缓存数据在同一时间点失效。 2.使用加锁可以将所有请求都先进行加锁操作当某个请求去查询数据库时如果还没有加载到缓存中则只让单个线程去执行加载操作其他线程等待该线程完成后再次进行判断避免瞬间都去访问数据库从而引起雪崩。 3.提前加载预热在系统低峰期可以提前将部分热点数据加载到缓存中这样可以避免在高峰期缓存数据失效时全部打到数据库上。 4.使用多级缓存可以在Redis缓存之上再使用一层缓存例如本地缓存等当Redis缓存失效时还能够从本地缓存中获取数据避免直接打到数据库上。 本地缓存ehcache oscache spring自带缓存 持久层框架的缓存 总结 Java多线程——信号量Semaphore是啥
http://www.w-s-a.com/news/176061/

相关文章:

  • 网站建设最常见的问题建设银行网站机构
  • 网站集群建设相关的招标南通seo网站建设费用
  • 网络培训的网站建设能够做二维码网站
  • 网站类游戏网站开发wordpress 文章首标点
  • 徐州网站建设熊掌号免费推广网站入口2020
  • 网站建设有前途长春高铁站
  • 做网站网课阿里云域名查询系统
  • saas建站平台有哪些简述网站建设基本流程答案
  • 个人怎么做网站网站浏览思路
  • 网站建设里的知识长沙网络营销公司
  • 网站建设与维护大作业pc网站转换成微网站
  • php网站开发经典教材东莞网站开发
  • 教育培训手机网站模板下载跨境电商培训哪家最好
  • 网站开发淄博网站被降权会发生什么影响吗
  • 网站开发常用的语言东城手机网站制作
  • 微小店网站建设平台手机优化加速有什么用
  • 沈阳酒店企业网站制作公司竞价网站怎么做seo
  • 中山企业网站多少钱学网站建设的好处
  • 做官网网站哪家公司好jianux wordpress
  • 插件素材网站新站seo优化快速上排名
  • 网站注销主体填写原因asp响应式h5网站源码下载
  • 电商类网站模板下载济南市建设网官网
  • 万户网络做网站如何采集器wordpress
  • 襄阳网站建设企业查看 wordpress 插件
  • 网站地址申请京东联盟怎么做网站
  • 三亚市城乡建设局网站网站口碑营销
  • 图书租借网站 开发企业网站搜索优化外
  • 新乡个人网站建设哪家好免费的图片做视频在线观看网站
  • 洛阳工程建设信息网站山西响应式网页建设哪里好
  • 企业网站建设市场的另一面wordpress分类插件