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

网站构建是什么电商网站如何制作

网站构建是什么,电商网站如何制作,企业网站建设 论文,如何找外链资源目录 事务定义 事务操作命令 redis事务的错误处理 redis事务冲突问题 redis解决事务冲突的方法 Redis事务的三个特性 事务定义 redis事务是一个单独的隔离操作:事务中的所有命令都会序列化,按顺序的执行。事务中在执行过程中,不会被其他客户…

目录

事务定义

 事务操作命令

 redis事务的错误处理

 redis事务冲突问题

        redis解决事务冲突的方法

Redis事务的三个特性


事务定义

        redis事务是一个单独的隔离操作:事务中的所有命令都会序列化,按顺序的执行。事务中在执行过程中,不会被其他客户端发送过来的请求命令打断。

       redis事务的主要作用就是串联多个命令,防止别的命令插队。

        redis事务实现操作顺序的执行,是通过队列的实现的。

 事务操作命令

        事务操作的基本命令是:Multi,Exec,discard。

        从输入Multi命令开始,输入的命令都会依次进入到命令队列中,但是不会执行,直到输入Exec后,Redis将命令队列中的命令依次执行。

        组队过程中可以通过discard来放弃组队。

         案例:

 redis事务的错误处理

  • 在组队过程中,某个命令出现了报错,在执行时,队列的所有命令都不会执行。

  • 在组队过程中,都是正确的,但是,在执行时某个命令出现了错误,那只有错误命令不会被执行,其他正确的命令都会执行。

 redis事务冲突问题

        什么是冲突?以及为什么要解决冲突?

        模拟抢票的场景。当只有一张票时,此时,三个人看到同一张票,同时抢。在代码中表现为,三个线程同时从redis中获取票数,此时会有冲突,如果不解决冲突,三个线程取到票的数量都为1,都可以买到票,但是实际只有一张票。此时就会有问题。

        redis解决事务冲突的方法

  • 悲观锁

        顾名思义,就是很悲观,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁。这样别人拿数据的时候就会阻塞直到拿到锁。传统的关系型数据库中就用到了很多这样的锁机制。比如:行锁,表锁等,读锁,写锁等,都是在操作前上锁。

        这种锁的缺点会导致效率变低。

比如上面买票的例子,三个人买一张票。第一个人买时,就会上锁,第二个和第三个人买不了,直到第一个人买完。

  • 乐观锁

        顾名思义,就是很乐观,每次去拿数据的时候都认为别人不会修改,所以不会上锁。但是在每次拿数据时会判断一下有没有人去更新这个数据,可以使用版本号等机制。

        乐观锁适用于多读的应用类型,这样可以提高吞吐量。redis就是利用这种check-and-set机制实现事务的。

比如上面买票的例子,三个人同时抢到这一张票,此时版本号为v1,但是第一个人实际抢到了这张票,在设置票数时,将数据库中票数量的版本号设为v1.1,第二个人修改票数量时,比较版本号,此时版本号不相同,不会进行操作,需要获得新数据才可以进行操作。

  • 监视WATCH

        在执行multi之前,先执行watch key1 key2...;可以监视一个或者多个key,如果在事务执行前这些key被其他命令改动,那么事务会被打断。

  •  取消监视unwatch

        取消watch命令对所有key的监视。

        如果在执行watch命令之后,exec命令或者discard命令先执行的话,就不需要再执行unwatch了。

Redis事务的三个特性

  • 单独的隔离操作

        事务中所有的命令都会序列化,按照顺序的执行,事务在执行过程中,不会被其他客户端发送来的命令请求打断。

  • 没有隔离级别的概念

        事务队列中的命令没有提交之前都不会实际执行。

  • 不保证原子性

        事务执行过程中如果有一条命令执行失败,其他命令仍然会被执行,不会回滚。

http://www.yayakq.cn/news/184450/

相关文章:

  • 返利网站做淘宝做网站卖狗挣钱吗
  • 宏福建设集团有限公司网站网站关键字怎么优化
  • 寒亭网站建设广州网页设计公司招聘
  • 泉州有哪些公司是做网站天津武清做网站tjniu
  • 个人学做网站html5精美网站
  • 企业网站每年续费吗天元建设集团有限公司 安百平
  • 济南网站建设平台官网网站建设价格表
  • 网站商城怎么做app一站式
  • 免费做网站送域名的帮网站做推广赚钱
  • 物流公司网站建设模板丹阳火车站片区规划
  • 北京 网站建设 知乎教手工做衣服的网站
  • 织梦关闭网站海口网约车平台
  • 那里可以做网站合肥网站建设公司
  • 什么网站做美式软装设计方案电子商务网页设计代码
  • 中国建设银行淮南分行网站制作网站要找什么公司
  • 阿里云搭建企业网站vi设计案例赏析
  • 福建省建设执业继续教育网站软件工程考研率为何低
  • 电子设计全国网站建设wordpress h5模板
  • 做网站架构的软件做网站添加本地图片
  • 什么网站可以在线做雅思网站建设团队名称
  • 手机上的软件网站建设企业信息网页模板
  • dedecms做网站注意事项常用的网站建设技术有
  • 农行网站不出动画怎么做找别人建网站去哪里
  • 免费公司介绍网站怎么做郑州网站开发公
  • 自己做网站免费网站开发工程是待遇
  • 购物网站建设价格外贸主动营销网站建设
  • 建立可以在线做照片的网站做网站ppt
  • 服装技术支持东莞网站建设flash网站模板中心
  • 中山市开发区建设局网站art2008cms网站开发
  • dedecms网站关键字在哪个表商务网站建设实训心得体会