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

中山市智能h5网站建设公司软文推广服务

中山市智能h5网站建设公司,软文推广服务,做网站怎么调整图片间距,做瑞士网站1.事务Redis介绍 事务表示一组动作,要么全部执行,要么全部不执行。 例如微博粉丝关注用户,博主粉丝列表增加了用户,粉丝关注列表增加了博主; Redis 提供了简单的事务功能,将一组需要一起执行的命令放到mult…

1.事务Redis介绍

    事务表示一组动作,要么全部执行,要么全部不执行。

    例如微博粉丝关注用户,博主粉丝列表增加了用户,粉丝关注列表增加了博主;

    Redis 提供了简单的事务功能,将一组需要一起执行的命令放到multi和exec两个命令之间。multi(['mʌlti]) 命令代表事务开始,exec(美[ɪɡˈzek])命令代表事务结束,如果要停止事务的执行,可以使用discard命令代替exec命令即可。

它们之间的命令是原子顺序执行的,例如下面操作实现了上述用户关注问题。

可以看到sadd命令此时的返回结果是QUEUED,代表命令并没有真正执行,而是暂时保存在Redis中的一个缓存队列(所以discard也只是丢弃这个缓存队列中的未执行命令,并不会回滚已经操作过的数据,这一点要和关系型数据库的Rollback 操作区分开)。如果此时另一个客户端执行sismember u:a:follow ub返回结果应该为0。

只有当exec执行后,用户A关注用户B的行为才算完成,如下所示exec返回的两个结果对应sadd命令。

另一个客户端:

如果事务中的命令出现错误,Redis 的处理机制也不尽相同。

1、命令错误例如下面操作错将set写成了sett,属于语法错误,会造成整个事务无法执行,key和counter 的值未发生变化:

2.运行时错误例如用户B在添加粉丝列表时,

误把sadd命令(针对集合)写成了zadd命令(针对有序集合),这种就是运行时命令,因为语法是正确的:

可以看到Redis并不支持回滚功能,sadd u:c:follow ub命令已经执行成功,开发人员需要自己修复这类问题。有些应用场景需要在事务之前,确保事务中的key没有被其他客户端修改过,才执行事务,否则不执行(类似乐观锁)。Redis 提供了watch命令来解决这类问题。

客户端1:

客户端2:

客户端1继续

可以看到“客户端-1”在执行multi之前执行了watch命令,“客户端-2”在“客户端-1”执行exec之前修改了key值,造成客户端-1事务没有执行(exec结果为nil)。

Redis 客户端中的事务使用代码参见:cn.tuling.redis.adv.RedisTransaction

2.Pipeline 和事务的区别

简单来说,

1、pipeline 是客户端的行为,对于服务器来说是透明的,可以认为服务器无法区分客户端发送来的查询命令是以普通命令的形式还是以pipeline的形式发送到服务器的;

2 而事务则是实现在服务器端的行为,用户执行MULTI命令时,服务器会将对应这个用户的客户端对象设置为一个特殊的状态,在这个状态下后续用户执行的查询命令不会被真的执行,而是被服务器缓存起来,直到用户执行EXEC命令为止,服务器会将这个用户对应的客户端对象中缓存的命令按照提交的顺序依次执行。

3、应用pipeline 可以提服务器的吞吐能力,并提高Redis处理查询请求的能力。但是这里存在一个问题,当通过pipeline提交的查询命令数据较少,可以被内核缓冲区所容纳时,Redis可以保证这些命令执行的原子性。然而一旦数据量过大,超过了内核缓冲区的接收大小,那么命令的执行将会被打断,原子性也就无法得到保证。因此pipeline只是一种提升服务器吞吐能力的机制,如果想要命令以事务的方式原子性的被执行,还是需要事务机制,或者使用更高级的脚本功能以及模块功能。

4、可以将事务和pipeline结合起来使用,减少事务的命令在网络上的传输时间,将多次网络IO缩减为一次网络IO。Redis 提供了简单的事务,之所以说它简单,主要是因为它不支持事务中的回滚特性,同时无法实现命令之间的逻辑关系计算,当然也体现了Redis 的“keep it simple”的特性。

http://www.zhongyajixie.com/news/6674.html

相关文章:

  • 专业做网站哪家强西安网络推广外包公司
  • 公司网站 正式上线品牌关键词优化哪家便宜
  • 网站建设公司 石景山免费发帖的平台有哪些
  • 视频网站如何做营销策划兰州seo整站优化服务商
  • 淮南百姓网seo研究中心教程
  • 建设网站的网站测试惠州seo计费管理
  • 网站认证金额怎么做分录宁波pc营销型网站制作
  • 连云港网站建设方案360排名优化工具
  • 微信公众号被收费299windows10优化软件
  • 模版网站可以做seo吗搜索引擎优化作业
  • wordpress门户风水情感网站seo
  • 在公司平台做网站竞拍网站制作报价表
  • 专门做金融培训的网站有哪些百度网址链接
  • 做网站要多少的服务器独立站怎么建站
  • 郑州商城网站建设多少钱推广平台怎么找客源
  • 免费做橙光封面的网站网站外部优化的4大重点
  • 最专业的佛山网站建设青岛网络优化代理
  • 网站邮箱接口怎么设置百度竞价搜索
  • 济南装饰行业网站建设漳州网络推广
  • app开发公司靠谱吗重庆seo怎么样
  • 网页设计的主题谷歌seo引擎优化
  • 手机web页面设计网站免费的网站推广软件
  • 网站建设推广实训总结软文写作的十大技巧
  • 网站建设维护合同模板百度云在线登录
  • 现在做网站开发整合营销传播案例分析
  • 外贸网站案例东莞网站提升排名
  • 什么类型的网站比较容易做百度热搜榜今日头条排名
  • 好用的h5网站模板厦门搜索引擎优化
  • 大尺度做爰网站百度网站检测
  • 网站主目录权限配置精准客户运营推广