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

dw 怎么做钓鱼网站网站制作公司哪家好

dw 怎么做钓鱼网站,网站制作公司哪家好,网络营销文案策划都有哪些,黄金网站app免费视频下载目录 Redis事务定义相关命令事务的错误处事务冲突的问题Redis事务三特性 Redis事务定义 redis事务是一个单独的隔离操作#xff0c;事务中的所有命令都会序列化、按顺序地执行#xff0c;事务在执行的过程中#xff0c;不会被其他客户端发送来的命令请求所打断。 redis事务… 目录 Redis事务定义相关命令事务的错误处事务冲突的问题Redis事务三特性 Redis事务定义 redis事务是一个单独的隔离操作事务中的所有命令都会序列化、按顺序地执行事务在执行的过程中不会被其他客户端发送来的命令请求所打断。 redis事务的主要作用就是串联多个命令防止 别的命令插队。 相关命令 主要有Multi、Exec、discard。 multi 标记一个事务块的开始。 事务块内的多条命令会按照先后顺序被放进一个队列当中最后由 exec 命令原子性(atomic)地执行。 exec 执行所有事务块内的命令。 假如某个(或某些) key 正处于 watch 命令的监视之下且事务块中有和这个(或这些) key 相关的命令那么 exec 命令只在这个(或这些) key 没有被其他命令所改动的情况下执行并生效否则该事务被打断(abort)。 **返回值**事务块内所有命令的返回值按命令执行的先后顺序排列。当操作被打断时返回空值 nil 。 discard 取消事务放弃执行事务块内的所有命令。 从输入Multi命令开始输入的命令都会依次进入命令队列中但不会执行直到输入Exec后redis会将之前的命令依次执行。组队的过程中可以通过discard来放弃组队。 redis事务分2个阶段组队阶段、执行阶段 组队阶段只是将所有命令加入命令队列执行阶段依次执行队列中的命令在执行这些命令的过程中不会被其他客户端发送的请求命令插队或者打断。 示例 # 示例1事务被成功执行 redis MULTI OK redis INCR user_id QUEUED redis INCR user_id QUEUED redis INCR user_id QUEUED redis PING QUEUED redis EXEC 1) (integer) 1 2) (integer) 2 3) (integer) 3 4) PONG# 示例2监视 key且事务成功执行 redis WATCH lock lock_times OK redis MULTI OK redis SET lock huangz QUEUED redis INCR lock_times QUEUED redis EXEC 1) OK 2) (integer) 1# 示例3监视 key且事务被打断 redis WATCH lock lock_times OK redis MULTI OK redis SET lock joe # 就在这时另一个客户端修改了 lock_times 的值 QUEUED redis INCR lock_times QUEUED redis EXEC # 因为 lock_times 被修改 joe 的事务执行失败 (nil)# 示例3取消事务 redis MULTI OK redis PING QUEUED redis SET greeting hello QUEUED redis DISCARD OK事务的错误处 情况1组队中命令有误导致所有命令取消执行 组队中某个命令出现了错误报告执行时整个队列中所有的命令都会被取消。 示例代码如下事务中执行了3个set命令而第3个命令 set address 命令本身有问题加入队列失败最后执行exec的时候所有的命令都被取消执行。 127.0.0.1:6379 multi #开启一个事务块 OK 127.0.0.1:6379(TX) set name ready QUEUED 127.0.0.1:6379(TX) set age 30 QUEUED 127.0.0.1:6379(TX) set address #命令有问题导致加入队列失败 (error) ERR wrong number of arguments for set command 127.0.0.1:6379(TX) exec #执行exec的时候事务中所有命令都被取消 (error) EXECABORT Transaction discarded because of previous errors.情况2组队中没有问题执行中部分成功部分失败 命令组队的过程中没有问题执行中出现了错误会导致部分成功部分失败。 示例代码如下事务中有3个命令3个命令都入队列成功了执行exec命令的时候1和3命令成功了第2个失败了 127.0.0.1:6379 multi OK 127.0.0.1:6379(TX) set k1 v1 #命令1设置k1的值为v1 QUEUED 127.0.0.1:6379(TX) incr k1 #命令2k1的值递增1由于k1的值不是数字执行的时候会失败的 QUEUED 127.0.0.1:6379(TX) set k2 v2 #命令3设置k2的值为v2 QUEUED 127.0.0.1:6379(TX) exec #执行命令1和3命令成功第2个失败了 1) OK 2) (error) ERR value is not an integer or out of range 3) OK 127.0.0.1:6379 mget k1 k2 #查看k1和k2的值 1) v1 2) v2事务冲突的问题 例子 想象一个场景 你的账户中只有10000有多个人使用你的账户同时去参加双十一抢购 一个请求想给金额减8000一个请求想给金额减5000一个请求想给金额减1000。 3个请求同时来带①看到的余额都是10000大于操作金额都去执行修改余额的操作最后导致金额变成了-4000这显然是有问题的。 悲观锁 悲观锁Pessimistic Lock顾名思义就是很悲观每次去拿数据的时候都认为别人会修改所以每次在拿数据的时候都会上锁这样别人拿到这个数据就会block直到它拿到锁。传统的关系型数据库里面就用到了很多这种锁机制比如行锁、表锁、读锁、写锁等都是在做操作之前先上锁。 乐观锁 乐观锁Optimistic Lock顾名思义就是很乐观每次去那数据的时候都认为别人不会修改所以不会上锁但是在修改的时候会判断一下在此期间别人有没有去更新这个数据可以使用版本号等机制。乐观锁适用于多读的应用类型这样可以提高吞吐量。redis就是使用这种check-and-set机制实现事务的。 watch key [key …] 在执行multi之前先执行watch key1 [key2 …]可以监视一个或者多个key若在事务的exec命令之前这些key对应的值被其他命令所改动了那么事务中所有命令都将被打断即事务所有操作将被取消执行。 示例 开启2个窗口按照下表的时间点在不同的窗口执行对应的命令 窗口1中对balance进行了监视也就是说在执行 watch balance 命令之后在 exec 命令之前如果有其他请求对balance进行了修改那么窗口1事务中所有的命令都会将会被取消执行。窗口1 watch balance 后由于T5时刻窗口2对balance进行了修改导致窗口1中事务所有命令被取消执行。 unwatch取消监视 取消 WATCH 命令对所有 key 的监视。 如果在执行 WATCH 命令之后 EXEC 命令或 DISCARD 命令先被执行了的话那么就不需要再执行UNWATCH 了。因为 EXEC 命令会执行事务因此 WATCH 命令的效果已经产生了而 DISCARD 命令在取消事务的同时也会取消所有对 key 的监视因此这两个命令执行之后就没有必要执行 UNWATCH 了。 Redis事务三特性 单独的隔离操作事务中的所有命令都会序列化、按顺序地执行事务在执行过程中不会被其他客户端发送来的命令请求所打断。 没有隔离级别的概念队列中的命令没有提交exec之前都不会实际被执行因为事务提交前任何指令都不会被实际执行。 不能保证原子性事务中如果有一条命令执行失败后续的命令仍然会被执行没有回滚。如果在组队阶段有1个失败了后面都不会成功如果在组队阶段成功了在执行阶段有那个命令失败就这条失败其他的命令则正常执行不保证都成功或都失败。
http://www.zqtcl.cn/news/989507/

相关文章:

  • 哪些网站可以下载视频网站建设评价量规
  • 惠州市建设局网站网站模块设计怎么做
  • 群晖可不可以做网站用如何查询商标是否已经被注册
  • 北京欢迎你网站制作公司建设厅和应急管理厅焊工证区别
  • 如何开办网站微信公众平台号申请注册
  • 网站建设找哪个平台浦东区建设工程监督网站
  • 如何创业做网站设计公司工作室
  • 游戏网站建设多少中国煤炭建设协网站
  • 动态图表网站宁津做网站
  • 黑龙江生产建设兵团各连网站成功网站建设案例
  • 一级a做爰精免费网站肇庆网站制作软件
  • wordpress加分页北京优化生育
  • 乐至建设局网站工程项目管理软件哪个好
  • 太原公司网站建立wordpress插件直播
  • 比较有名的diy制作网站做照片视频的网站
  • 河北石家庄建设网站wordpress nginx apache
  • 上海免费网站建设品牌wordpress主题安装失败下载失败
  • 买公司的网站商城系统开发
  • 网页设计国外设计欣赏网站深夜视频在线免费
  • 做网站怎么租用服务器杭州网站建设hzyze
  • .asp 网站北京最新防疫信息
  • 网站上传用什么软件做视频教程114查询
  • 网站小图标素材网站开发需要提供哪些东西
  • 阿里巴巴国际站买家入口百度建网站多少钱
  • 为网站网站做代理怎么判wordpress 调用当前分类名称
  • 多用户网站管理系统定制网站建设与运营案例
  • 毕业设计做的网站抄袭网站开发执行文档
  • 自己做网站都要什么软件网址你懂我意思正能量不用下载
  • 网站内容的创新wordpress美食主题
  • 程序员做游戏还是做网站好雅安移动网站建设