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

网站流量如何转化为钱wordpress的导航源码

网站流量如何转化为钱,wordpress的导航源码,重庆企业seo,c 网站开发案例详解概述 在之前, 我也使用redis做过分布式锁, 当时的做法是这样的: setnx: 向 redis中创建一个过期时间为1s的key, 若创建失败, 则锁获取失败expire: 获取锁成功后, 给锁增加过期时间del: 处理后释放锁 当时觉得貌似没什么问题. 是我太天真了, 今天突然想到, 恩, 有问题. 问题…概述 在之前, 我也使用redis做过分布式锁, 当时的做法是这样的: setnx: 向 redis中创建一个过期时间为1s的key, 若创建失败, 则锁获取失败expire: 获取锁成功后, 给锁增加过期时间del: 处理后释放锁 当时觉得貌似没什么问题. 是我太天真了, 今天突然想到, 恩, 有问题. 问题 1.如果在第一步之后, 程序崩了, 没有给锁设置过期时间, 导致所有后续操作都无法正常获取到锁. 怎么破? 2.在A成功上锁后, 因为IO阻塞等原因, 执行时间有点长, 锁已经过期了, 这时B过来成功上锁, A在释放锁的时候释放的就是B的锁. 3.redis突然挂了. 如果redis突然挂了, 怎么办? 当然, 可以增加redis节点, 主节点挂了, 从节点立刻补上. 但是, 主节点的数据同步到从节点也是需要时间的吧. 假设一个场景: A在主节点设置锁主节点还没有同步数据的时候, 挂了从节点接替成为主节点B在主节点也成功设置了锁 这个时候, 分布式锁就失效了. 解决 那么有没有办法解决上面的问题呢? 我到万能的谷歌上找了一下, 恩, 真的有. 上面的问题一个一个解决. 问题一 如何避免没有给锁设置过期时间的问题? 其实看看就知道了, 问题出在设置key和设置value分成两条命令执行, 所以导致如果在 setnx命令执行过后, 程序崩溃, expire命令没有正常执行, 将其合并为一条命令就好啦. set key value NX PX 5000 其中NX表示存在则不设置, PX表示过期时间. 如此, 至少可以保证不会出现没有过期时间的锁了 问题二 如何避免A释放了B的锁. 如何避免释放了其他人的锁呢? 换个问题, 如何保证这个锁是你加的呢? so easy, 加锁的时候, 讲value值设置成一个只有我知道的随机数字, 释放的时候看看值是不是我的就行了. 如此在释放的时候需要两步操作: 获取redis锁的值若值是我的, 释放锁 当然, 为了保证释放锁操作的原子性, 这两步操作最好也能合并为一步操作. 那redis如何实现值是否相同的判断呢? Lua脚本. 简单介绍一下 eval return {KEYS[1],KEYS[2],ARGV[1],ARGV[2]} 2 key1 key2 argv1 argv2 # 看懂了吧, 哈哈 # eval 是redis内置的命令 # 第一个参数是运行的脚本逻辑 # 第二个参数表示后面有几个key # 第五个参数开始就是附加参数, 在脚本逻辑中使用的所以, 脚本内容如下: if redis.call(get,KEYS[1]) ARGV[1] thenreturn redis.call(del,KEYS[1]) elsereturn 0 end如此, 至少可以保证不会出现A释放了B锁的情况了 问题三 如何保证在主节点挂掉的时候, 从节点接替后, 不会重复获得锁? 官网上提供了一个方法, 从多个redis实例同时获取锁. 因为我没看太明白, 之后看懂了在说吧. 过… 其实, 如果不是处理金钱这种不容出错的业务, 这种小概率事件个人觉得还是可以容忍的. 总结 最终, 在redis单机下实现的分布式锁操作如下: # 获取分布式锁过期时间可调 set lock_key random_value NX PX 5000 # ...do something # 释放分布式锁 eval if redis.call(get,KEYS[1]) ARGV[1] then return redis.call(del,KEYS[1]) else return 0 end 1 lock_key random_value
http://www.zqtcl.cn/news/330287/

相关文章:

  • 校园网站wordpress 防攻击插件
  • wordpress 更好的主题丁的老头seo博客
  • 上海市工程信息网站北京专业网站翻译影音字幕翻译速记速记速记速而高效
  • 网站建设心得体会500字网页制作三剑客是指什么
  • 大连做网站优化一级a做爰片 网站就能看
  • 网站优化页面中山seo网络推广
  • 建设网站一定要数据库吗湖北百度seo
  • 下载了wordpress然后怎么用怎样健建设一个有利于优化的网站
  • 网站开发心得500字做代售机票网站程序
  • php电影网站开发凡诺网站建设
  • 兰州道路建设情况网站南宁网站开发
  • 网站开发服务费投资者网站建设
  • 网站开发 如何备案新站点seo联系方式
  • 自动全屏网站模板贵州网站制作公司电话
  • 南昌购物网站制作国外免费网站空间
  • 网站地图模版企业做网站etp和源程序
  • 电子商务企业网站的推广方式外贸长尾关键词挖掘网站
  • 靓号网建站网站商城html模板
  • 广东顺德网站建设wordpress 我爱搜罗网
  • 基金网站建设需求书昆明网站制作工具
  • 京东网上购物商城官方网站国外网站页头设计图片
  • 芯片设计公司排名安卓优化大师app
  • 如何进行网站域名解析网站开发的工作方法
  • 专门做衣服的网站有哪些南宁企业官网seo
  • 网站 建设 内容中铁建设集团有限公司招聘官网
  • 个人电脑做服务器网站cn域名注册流程
  • 网站开发的思维导图哪些网站是react做的
  • 住房和城乡建设部网站注册进度常德建设局网站
  • 网站导购话术怎么做免费的产品图片网站
  • 网站设计外文文献建建设网站公司