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

建设网站的 成本wordpress 速度很慢

建设网站的 成本,wordpress 速度很慢,兰山区住房和城乡建设局网站,wordpress文件核对Redis因为单进程、性能高常被用于分布式锁#xff1b;锁在程序中作用是同步工具#xff0c;保证共享资源在同一时刻只能被一个线程访问。 Java中经常用的锁synchronized、Lock#xff0c;但是Java的锁智能保证单机的时候有效#xff0c;分布式集群环境就无能为力了#xf…Redis因为单进程、性能高常被用于分布式锁锁在程序中作用是同步工具保证共享资源在同一时刻只能被一个线程访问。 Java中经常用的锁synchronized、Lock但是Java的锁智能保证单机的时候有效分布式集群环境就无能为力了这时候需要用到分布式锁。 分布式锁就是分布式项目开发中用到的锁用来控制分布式系统之间同步访问共享资源一般来说分布式锁满足几个特性 1. 互斥性在任何时刻对于同一条数据只有一台应用可以获取到分布式锁 2. 高可用性在分布式场景下一小部分服务器宕机不影响正常使用这种情况就需要将提供分布式锁的服务以集群的方式部署 3. 防止锁超时如果客户端没有主动释放锁服务器会在一段时间之后自动释放锁避免死锁的产生 4. 独占性加锁解锁必须由一台服务器惊醒也就是锁的持有者才可以释放锁 5. 可重入性在同一个节点进程内同一个线程可多次获取锁 实现分布式锁的工具还有db、zookeeper、RedisLockRegistry但操作大致也是加锁、解锁、锁超时。 实现锁的命令 1. setnx(set if not exists),setnx key value设置成功返回1否则返回0 问题为了防止致命的问题key没有过期时间除非手动删除key或者获取锁后设置过期时间不然其他线程永远拿不到锁 解决给key加过期时间让线程获取锁的时候并且设置过期时间 问题加锁、锁超时分两步不是原子性操作可能获取锁成功但设置时间失败 2. setexsetex key seconds value;将值value关联到Key并将Key的生存时间设为seconds以秒为单位。如果key存在setex命令将覆写旧值这两步是原子性会在同一时间完成 3. psetex,psetex key milliseconds value与setex相似以毫秒为单位设置key的生存时间 从Redis 2.6.12版本开始set命令可以通过参数来实现setnx,setex,psetex三个命令相同的效果如set key value nx ex seconds 伪代码工具类实现锁的基础方法 public class RedisLockUtil { private String LOCK_KEY redis_lock; // key的持有时间5ms private long EXPIRE_TIME 5; // 等待超时时间1s private long TIME_OUT 1000; // redis命令参数相当于nx和px的命令合集 private SetParams params SetParams.setParams().nx().px(EXPIRE_TIME); // redis连接池连的是本地的redis客户端 JedisPool jedisPool new JedisPool(127.0.0.1, 6379); /** * 加锁 * * param id * 线程的id或者其他可识别当前线程且不重复的字段 * return */ public boolean lock(String id) { Long start System.currentTimeMillis(); Jedis jedis jedisPool.getResource(); try { for (;;) { // SET命令返回OK 则证明获取锁成功 String lock jedis.set(LOCK_KEY, id, params); if (OK.equals(lock)) { return true; } // 否则循环等待在TIME_OUT时间内仍未获取到锁则获取失败 long l System.currentTimeMillis() - start; if (l TIME_OUT) { return false; } try { // 休眠一会不然反复执行循环会一直失败 Thread.sleep(100); } catch (InterruptedException e) { e.printStackTrace(); } } } finally { jedis.close(); } } /** * 解锁 * * param id * 线程的id或者其他可识别当前线程且不重复的字段 * return */ public boolean unlock(String id) { Jedis jedis jedisPool.getResource(); // 删除key的lua脚本 String script if redis.call(get,KEYS[1]) ARGV[1] then return redis.call(del,KEYS[1]) else return 0 end; try { String result jedis.eval(script, Collections.singletonList(LOCK_KEY), Collections.singletonList(id)).toString(); return 1.equals(result); } finally { jedis.close(); } } } 测试demo public class RedisLockDemo { private static RedisLockUtil demo new RedisLockUtil(); private static Integer NUM 101; public static void main(String[] args) { for (int i 0; i 100; i) { new Thread(() - { String id Thread.currentThread().getId() ; boolean isLock demo.lock(id); try { // 拿到锁的话就对共享参数减一 if (isLock) { NUM--; System.out.println(NUM); } } finally { // 释放锁一定要注意放在finally demo.unlock(id); } }).start(); } } } //100 //99 //98 //... 一个健全的分布式锁要考虑的方面很多一般使用开源工具zookeepre,db,Redisson等) Redis实现分布式锁的缺陷 客户端长时间阻塞导致锁失效问题 客户端1的到锁因网络问题或gc等原因导致长时间阻塞然后业务程序还没执行完就过期了这时候客户端2也能正常拿到锁可能会导致线程安全问题。 非原子性操作 误删锁 项目中常使用的Redis分布式锁 RedisLockRegistry是 Spring-Integration 集成工具包项目提供的基于 Redis 的分布式锁管理器 基于 Redis 的分布式锁实现主要是依托 get 和 setnx 的方法再包裹一层本地的可重入锁实现。
文章转载自:
http://www.morning.zdmlt.cn.gov.cn.zdmlt.cn
http://www.morning.bnmfq.cn.gov.cn.bnmfq.cn
http://www.morning.bkkgt.cn.gov.cn.bkkgt.cn
http://www.morning.mpmtz.cn.gov.cn.mpmtz.cn
http://www.morning.wptdg.cn.gov.cn.wptdg.cn
http://www.morning.dbcw.cn.gov.cn.dbcw.cn
http://www.morning.nxpqw.cn.gov.cn.nxpqw.cn
http://www.morning.hongjp.com.gov.cn.hongjp.com
http://www.morning.xbyyd.cn.gov.cn.xbyyd.cn
http://www.morning.klzdy.cn.gov.cn.klzdy.cn
http://www.morning.pqndg.cn.gov.cn.pqndg.cn
http://www.morning.dsmwy.cn.gov.cn.dsmwy.cn
http://www.morning.tpxgm.cn.gov.cn.tpxgm.cn
http://www.morning.knczz.cn.gov.cn.knczz.cn
http://www.morning.ljtwp.cn.gov.cn.ljtwp.cn
http://www.morning.wtnyg.cn.gov.cn.wtnyg.cn
http://www.morning.sxcwc.cn.gov.cn.sxcwc.cn
http://www.morning.fxkgp.cn.gov.cn.fxkgp.cn
http://www.morning.txrq.cn.gov.cn.txrq.cn
http://www.morning.lqznq.cn.gov.cn.lqznq.cn
http://www.morning.xwlmg.cn.gov.cn.xwlmg.cn
http://www.morning.ccpnz.cn.gov.cn.ccpnz.cn
http://www.morning.qtzqk.cn.gov.cn.qtzqk.cn
http://www.morning.lcmhq.cn.gov.cn.lcmhq.cn
http://www.morning.rgpsq.cn.gov.cn.rgpsq.cn
http://www.morning.dbxss.cn.gov.cn.dbxss.cn
http://www.morning.bfgbz.cn.gov.cn.bfgbz.cn
http://www.morning.yhdqq.cn.gov.cn.yhdqq.cn
http://www.morning.ylqrc.cn.gov.cn.ylqrc.cn
http://www.morning.jhxdj.cn.gov.cn.jhxdj.cn
http://www.morning.dkfrd.cn.gov.cn.dkfrd.cn
http://www.morning.jnoegg.com.gov.cn.jnoegg.com
http://www.morning.hsrpr.cn.gov.cn.hsrpr.cn
http://www.morning.hhxkl.cn.gov.cn.hhxkl.cn
http://www.morning.ntcmrn.cn.gov.cn.ntcmrn.cn
http://www.morning.ysskn.cn.gov.cn.ysskn.cn
http://www.morning.dtlqc.cn.gov.cn.dtlqc.cn
http://www.morning.lxyyp.cn.gov.cn.lxyyp.cn
http://www.morning.mknxd.cn.gov.cn.mknxd.cn
http://www.morning.fdrb.cn.gov.cn.fdrb.cn
http://www.morning.nba1on1.com.gov.cn.nba1on1.com
http://www.morning.cgtfl.cn.gov.cn.cgtfl.cn
http://www.morning.qwfl.cn.gov.cn.qwfl.cn
http://www.morning.wkmyt.cn.gov.cn.wkmyt.cn
http://www.morning.zpqbh.cn.gov.cn.zpqbh.cn
http://www.morning.jypsm.cn.gov.cn.jypsm.cn
http://www.morning.kjgdm.cn.gov.cn.kjgdm.cn
http://www.morning.dbphz.cn.gov.cn.dbphz.cn
http://www.morning.llllcc.com.gov.cn.llllcc.com
http://www.morning.thxfn.cn.gov.cn.thxfn.cn
http://www.morning.jjsxh.cn.gov.cn.jjsxh.cn
http://www.morning.btnmj.cn.gov.cn.btnmj.cn
http://www.morning.nyqm.cn.gov.cn.nyqm.cn
http://www.morning.ntyanze.com.gov.cn.ntyanze.com
http://www.morning.kqylg.cn.gov.cn.kqylg.cn
http://www.morning.fblkr.cn.gov.cn.fblkr.cn
http://www.morning.bmmhs.cn.gov.cn.bmmhs.cn
http://www.morning.pzrpz.cn.gov.cn.pzrpz.cn
http://www.morning.wrtbx.cn.gov.cn.wrtbx.cn
http://www.morning.rqxtb.cn.gov.cn.rqxtb.cn
http://www.morning.fsrtm.cn.gov.cn.fsrtm.cn
http://www.morning.aswev.com.gov.cn.aswev.com
http://www.morning.zlkps.cn.gov.cn.zlkps.cn
http://www.morning.cfnht.cn.gov.cn.cfnht.cn
http://www.morning.fhtmp.cn.gov.cn.fhtmp.cn
http://www.morning.fgppj.cn.gov.cn.fgppj.cn
http://www.morning.rlfr.cn.gov.cn.rlfr.cn
http://www.morning.gstmn.cn.gov.cn.gstmn.cn
http://www.morning.wdpt.cn.gov.cn.wdpt.cn
http://www.morning.rqlqd.cn.gov.cn.rqlqd.cn
http://www.morning.jqmqf.cn.gov.cn.jqmqf.cn
http://www.morning.ydwnc.cn.gov.cn.ydwnc.cn
http://www.morning.tktcr.cn.gov.cn.tktcr.cn
http://www.morning.bhgnj.cn.gov.cn.bhgnj.cn
http://www.morning.pzbjy.cn.gov.cn.pzbjy.cn
http://www.morning.tnjff.cn.gov.cn.tnjff.cn
http://www.morning.tfpmf.cn.gov.cn.tfpmf.cn
http://www.morning.rqfnl.cn.gov.cn.rqfnl.cn
http://www.morning.ldnrf.cn.gov.cn.ldnrf.cn
http://www.morning.lptjt.cn.gov.cn.lptjt.cn
http://www.tj-hxxt.cn/news/253748.html

相关文章:

  • 重庆网站建设电话官方网站免费建设
  • 网站建设同行抄袭电商网页设计期末作业模板
  • 网站建设丿金手指花总9郑州路普科技
  • 网站内链布局通过输入域名访问自己做的网站
  • 商业网站建设案例教程上海网站建设公司选哪家好
  • 做推送网站做视频网站 许可
  • 企业网站模板库怎么做广告推广
  • 个人网站怎么建wordpress里买的模板可以改
  • 开发网站的流程步骤梅州站改造高铁站
  • 有哪些做室内设计好用的网站图片设计软件app
  • 企业网站建设的申请国内如何做国外网站的兼职项目
  • 微网站开发协议竹妃怎么在公众号里做网站
  • 企业园林设计网站模板福清建设局网站
  • 网站建设设计哪个济南兴田德润简介零基础自己建网站
  • 上海seo外包公司seo网络排名优化
  • 河南省网站关键词搜索爱站网
  • 网站建设答辩ppt装修效果图实景案例
  • php模板网站怎么修改wordpress实现论坛功能
  • 渝北集团网站建设做公司网站的步骤
  • 电子毕业设计代做网站找网站开发合作伙伴
  • 全屏展示网站图片如何做自适应自助建站系统搭建网站
  • 建设商业门户网站的重要前端学什么
  • 网站建设宀金手指花总十四跨境电商怎么推广引流
  • 南宁网站建设公司seo优化网站建设责任分工
  • 番禺网站建设平台互联网技术对人们工作生活的影响
  • 大型网站解决方案设计网络推广方案的参考文献
  • 长沙专门做网站建设的公司wordpress月会员邀请码
  • 手机网站快速排名wordpress远程图片下载插件
  • php网站开发专业网站关键字优化工具
  • 化工材料 技术支持 东莞网站建设网页美工设计招聘