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

哪个网站做app做房地产开网

哪个网站做app,做房地产开网,微信朋友圈推广平台,wordpress is front目录 Redis事务四个命令redis事务特性redis事务执行原理 Redis 事务的使用基本使用watch 监控watch 实现原理补充 Redis事务 Redis事务是一种将多个命令打包成一个单独操作的机制#xff0c;它保证了在执行这些命令期间#xff0c;其他命令无法插入。 四个命令 Redis事务通… 目录 Redis事务四个命令redis事务特性redis事务执行原理 Redis 事务的使用基本使用watch 监控watch 实现原理补充 Redis事务 Redis事务是一种将多个命令打包成一个单独操作的机制它保证了在执行这些命令期间其他命令无法插入。 四个命令 Redis事务通过MULTI、EXEC、WATCH和UNWATCH四个命令来实现。 MULTI命令将Redis进入事务模式之后所有的命令都会被认为是事务中的命令。在执行MULTI命令后Redis会返回一个QUEUED响应。 EXEC命令用于执行事务中的所有命令。在执行EXEC命令之前Redis会按顺序记录所有事务中的命令并在执行期间暂停处理其他命令。 WATCH命令用于监视一个或多个键当这些键被修改时事务会被放弃而不执行。WATCH命令可以用来实现乐观锁的机制。 UNWATCH命令用于解除对键的监视。 事务中的每个命令的执行结果会被返回但只有在执行EXEC命令后Redis才会真正执行这些命令。如果在事务执行期间出现错误Redis不会回滚已经执行的命令而是继续执行剩余的命令。 redis事务特性 原子性在事务执行期间所有的命令要么全部执行成功要么全部不执行。Redis保证了事务中的命令的原子性即事务的执行是不可中断的。 与MySQL的事务特性对比来说 不具备一致性redis 没有约束和回滚事务执行一旦出错就可能导致不一致的情况.不具备持久性Redis 本身就是内存数据库数据是存储在内存中的. 虽然 Redis 也有持久化机制但是这里的持久化机制和事务没有什么直接关系.不具备隔离性Redis 是一个单线程模型的服务器程序所有的请求 / 事务都是 “串行” 执行的. redis事务执行原理 Redis事务的执行原理可以简要概括为以下几个步骤 事务开启使用MULTI命令开启一个事务。在事务开始之后客户端发送的命令都会被暂时存储在一个事务队列中而不是立即执行。 命令入队在事务开启后客户端可以发送多个命令这些命令会被依次存储在事务队列中而不会立即执行。 事务执行使用EXEC命令来执行事务中的所有命令。在执行EXEC命令之前Redis会对事务队列中的所有命令进行一致性检查确保所有的命令可以顺序执行并且没有冲突。 命令执行Redis按照顺序执行事务队列中的所有命令。执行过程中Redis会根据具体的命令类型进行相应的操作比如读取、修改、删除等。 事务结果返回执行完所有的命令后Redis会将事务的执行结果以数组的形式返回给客户端。数组中的每个元素对应一个命令的返回结果。 需要注意的是在事务执行过程中如果某个命令执行失败Redis不会回滚已经执行的命令而是继续执行剩余的命令。执行结果会以特殊的标识表示失败的命令。 另外Redis还提供了WATCH命令来实现乐观锁机制。客户端可以在事务开始之前使用WATCH命令监视一个或多个键如果在事务执行期间这些键被其他客户端修改事务就会被中断。这可以用来保证事务的原子性和一致性。 Redis 事务的使用 基本使用 multi 开启事务读作 “猫体” exec 执行事务 discard 放弃当前事务 watch 监控某个 key 是否在事务执行之前发生变化必须搭配事务使用 unwatch 放弃监控此时开启另一个客户端查看这几个 key 会发现这几个 key 并没有被赋值说明此时还没有执行事务).如下 如果放弃事务就相当于什么也没有发生 如果使用 exec就会按顺序执行事务 watch 监控 watch 就是用来监控某个 key 是否在事务执行之前发生改变但必须搭配事务来使用.如下用 watch 监控 key1开启事务并在执行事务之前另一个客户端对 key1 进行修改 执行事务后发现 key 在外部由修改会返回 nil 表示事务什么都不会执行如下 watch 实现原理 在Redis中watch命令用于在事务中监视一个或多个键以确保在事务执行期间这些键没有被其他客户端修改。如果在执行事务期间有任何被监视的键发生了变化事务将被中断并返回错误。 watch命令的实现原理如下 客户端发送watch命令给Redis服务器指定要监视的键。Redis服务器接收到watch命令后将客户端加入到监视列表中以便在键被修改时通知客户端。当有其他客户端修改了被监视的键时Redis服务器会通知所有监视该键的客户端。当客户端执行事务时Redis会检查被监视的键是否发生了变化。如果发生了变化Redis将中断事务并返回错误。如果被监视的键没有发生变化事务将继续执行。 总结起来watch命令的实现原理是在Redis服务器中维护一个监视列表并在事务执行之前对被监视的键进行监视。当键发生变化时通知事务中的客户端并中断事务的执行。这样可以确保在事务执行期间被监视的键没有被其他客户端修改。 补充 watch 的实现类似于一个 “乐观锁”。而乐观锁不是某个具体的锁而是指某一类锁的特性加锁之前就会有一个心里预期预期接下来锁冲突的概论比较低redis 的 watch 就相当于基于 “版本号” 这样的机制实现 “乐观锁”。当执行 watch key 的时候就会给 key 安排一个 版本号版本号可以理解成一个“整数”每次在修改 key 的时候版本号都会 “变大” 这个变大是没有规律的不是每次都增长1然后在执行 事务 的时候就会做出判定判断当前这个 key 的版本号和最初 watch 的时候记录的版本号是否一致 如果一致说明当前 key 在事务开启到最终执行这个过程中没有别的客户端修改才能真正的执行事务.如果不一致就说明 key 在其他客户端修改过了因此就直接丢弃事务中的所有操作最后返回 nil.
http://www.tj-hxxt.cn/news/225130.html

相关文章:

  • 网站优化排名公司哪家好wordpress一键优化
  • 淘宝客网站建设要注意什么sns社交网站 建设
  • 宝塔建站详细教程桂林北站到两江机场有多远
  • 深圳品牌网站建设公司vps服务器购买
  • 企业网站设计目的和意义免费静态网页托管
  • 小程序网站app定制开发如何在电脑里做网站
  • 电子商务网站建设需要哪些技术兰州网站设计公司排名
  • 如何做百度的网站旅游电子商务网站建设技术规范
  • htm5移动网站开发小企业想做网站推广找哪家强
  • 平顶山河南网站建设百度云建站教程
  • 网站开发规范有哪些php空间购买
  • 网站开发经理具备什么知识大型电子商务网站建设方案
  • 长沙好的网站建设成都招聘网站制作
  • 营销网站建设价格网站制作 网络推广
  • 做网络平台的网站有哪些成都装修网
  • 做公司网站大概需要多少钱啊百度秒收录
  • php网站开发就业前景做视频网站多少钱
  • 专业做足球体彩网站代理注册公司排名
  • 餐饮网站建设教程余姚网站公司
  • 益阳公司网站建设重庆如何做聚政网站
  • 做效果图赚钱的网站包头市网站建设公司
  • 学习做网站建设的学校苏州网络公司有哪些
  • 推销商务网站的途径有哪些建筑公司企业宗旨
  • 大兴安岭做网站市场监督管理局是干什么的
  • 卖网站赚钱吗wordpress 头部空白
  • 招标网站免费常州外贸人才网
  • 网站 术语wordpress怎么开启下载收费功能
  • 公司网站建设的重要性网站开发 实战
  • 左侧导航网站替网站做任务怎么做的
  • 济南做网站哪好一条 wordpress