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

网站建设:那个网站建设好

网站建设:,那个网站建设好,腾讯广点通,我们网站百度快照显示违规内容什么是事务 Redis 的事务和 MySQL 的事务概念上是类似的. 都是把⼀系列操作绑定成⼀组.让这⼀组操作能够批量执行. Redis 的事务和 MySQL 事务的区别 • 弱化的原⼦性: redis 没有 "回滚机制". 只能做到这些操作 "批量执⾏". 不能做到 "⼀个失败就恢…

什么是事务

        Redis 的事务和 MySQL 的事务概念上是类似的. 都是把⼀系列操作绑定成⼀组.让这⼀组操作·能够批量执行.

Redis 的事务和 MySQL 事务的区别

弱化的原⼦性: redis 没有 "回滚机制". 只能做到这些操作 "批量执⾏". 不能做到 "⼀个失败就恢复到 初始状态".

不保证⼀致性:不涉及 "约束".也没有回滚. MySQL 的⼀致性体现的是运⾏事务前和运⾏后 , 结果都 是合理有效的, 不会出现中间⾮法状态,而· Redis 的限制少就导致了数据在修改时可能出现问题。

不需要隔离性: 也没有隔离级别,因为不会并发执⾏事务(redis 单线程处理请求)

不需要持久性: Redis  中的数据是保存在内存的.是否开启持久化,是 redis-server ⾃⼰的事情, 和事务⽆关

        Redis 事务的意义就是为了打包,将需要批量执行的命令打包到一起,避免中间插入其他命令。

Redis 事务的本质

        Redis 实现事务,本质是引入了队列(每个客户端都有一个),开启事务以后,客户端发送的命令都会发送给服务器,保存到相应的队列中(不会立即执行)。当遇到了“执行事务”的命令后,Redis 会将事务中的命令依次执行,由 Redis 的主线程执行,Redis 会将事务中的命令都执行完再去处理其他的客户端

啥时候需要用到 Redis 事务呢?

        当我们需要将多个操作打包后运行,使用事务是比较合适的。

事务操作

开启事务

multi

开启⼀个事务.执⾏成功返回 OK.

        开启事务后,接下来输入的命令都会暂存到队列中,等待批量执行

执行事务

exec

示例:

        每次添加⼀个操作,都会提⽰ "QUEUED", 说明命令已经进⼊客户端的队列了.真正执⾏ EXEC 的时候, 客户端才会真正把上述操作发送给服务器. 此时就可以获取到上述 key 的值了.

放弃当前事务

        此时直接清空事务队列.之前的操作都不会真正执⾏到.

discard

监视事务中的某个键值对

watch key

        在执⾏事务的时候,如果某个事务中修改的值,被别的客户端修改了,此时就容易出现数据不⼀致的问题,通过 watch 就可以监控事务中的值是否被别的客户端修改。

假设现在在客户端 1 执行如下命令:

        在客户端 1 中监视了 key1 ,开启了事务,事务中需要修改 key1 和 key2 键值对

在客户端 2 执行如下命令:

        在客户端 1 的事务还没有执行之前,在客户端 2 中修改 key1 的值

        提交事务就会发现由于监视了 key1 ,而 key1 的值在其他客户端被修改了,所以整个事务执行失败,返回了 nil

watch 的原理

        在开启事务前 watch(监视) 了一个 key,就会记录这个 key 当前的版本号(版本号是一个简单的整数,每次修改都会使版本号变大,服务器会维护每个 key 的版本号情况)

        在真正提交事务的时候,如果发现当前 key 的版本号已经超过了事务开始时的版本号,就说明 key 在其他客户端中已经被修改了,事务就会执行失败(事务中的所有操作都不执行)

UNWATCH

取消对 key 的监控.相当于 WATCH 的逆操作


文章转载自:

http://A6N3cA9C.drjLL.cn
http://LW4piyrK.drjLL.cn
http://jbc0acyZ.drjLL.cn
http://X4UR6fkL.drjLL.cn
http://AwKiDVXs.drjLL.cn
http://vQMWcm7E.drjLL.cn
http://EPmHmThC.drjLL.cn
http://xGD0MZnY.drjLL.cn
http://MBmMaIXc.drjLL.cn
http://gZkP5b5p.drjLL.cn
http://QJOTPhuo.drjLL.cn
http://YsQUYGov.drjLL.cn
http://2SktQYt8.drjLL.cn
http://s7H4e7IJ.drjLL.cn
http://wJIRMwD9.drjLL.cn
http://2we2t5d5.drjLL.cn
http://GmhJvxl5.drjLL.cn
http://BAZJD6J0.drjLL.cn
http://PjV8xSbE.drjLL.cn
http://2CvLC2CK.drjLL.cn
http://VZ6rTkXs.drjLL.cn
http://jo3femeW.drjLL.cn
http://MVPkU6JR.drjLL.cn
http://yE8B51It.drjLL.cn
http://7mSlTRDn.drjLL.cn
http://7jSu5WaV.drjLL.cn
http://J5tSPmlh.drjLL.cn
http://HMLg7Juk.drjLL.cn
http://ZaRFEKtV.drjLL.cn
http://xjmjzpcA.drjLL.cn
http://www.dtcms.com/wzjs/624829.html

相关文章:

  • 自己做网站卖能赚钱吗哪些网站是用python做的
  • win8 风格网站模板邯郸房产网最新楼盘
  • c2c网站的特点中牟网站建设
  • 保险公司网站做网站需要什么设备
  • 深圳做网站的地方临清市住房和城乡建设局网站
  • 武邑县建设局网站公司做网站需要
  • 南阳做网站公司网站开发域名注册
  • 公司网站备案去哪里备案上海公司推荐
  • 陇南地网站建设wordpress_ joomla_ drupal
  • 网站分析数据常州营销网站建设
  • 建设银行网站支付限额怎么办做网站具体指什么
  • 企业网站管理系统视频教程做网站意向客户
  • 腾讯云建网站社区建设网站
  • 网站建设app开发海南新政策最新
  • 关于公示网站建设的计划书主题公园网站建设
  • 山东建设厅官方网站名人朋友圈网页版qq登录入口
  • 奉贤网站建设推广wordpress 多语言切换
  • 做网站直播平台企业网站mp4怎么处理
  • 互联网网站备案流程抖音小程序开放平台
  • 加强农业网站建设wordpress xss跨站脚本漏洞
  • 手机上怎么做自己卖菜的网站宁波做网站制作
  • 桐城市住宅和城乡建设局网站西安市建筑工程信息网
  • 深圳网站建设sz886商城 网站有哪些功能模块
  • 和建设银行类似的网站郑州网站策划
  • 银川网站建设实习生域名怎么卖
  • 如何做自己的博客网站网页网络游戏
  • 广东建设工程注册执业中心网站网站建设有哪些常用行为
  • 网站域名跳转代码html南京市溧水城市建设集团网站
  • 成都专业网站建设厂开发者导航
  • 南通网站建设教程2023年百度小说风云榜