分享更有价值
被信任是一种快乐

Redis如何实现MongoDB的getlasterror功能

文章页正文上

这篇文章主要为大家展示了“Redis如何实现MongoDB的getlasterror功能”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Redis如何实现MongoDB的getlasterror功能”这篇文章吧。  MongoDB在写操作时,默认不会等数据写完后才返回,你可以通过使用getLastError命令来保证你的写是成功的。  说白了,MongoDB的写是异步的,返回给客户端成功但其写并不一定成功,而且在多个数据结点进行replication的时候,更无法保证数据同步到其它结点上。getLastError就是为此而生的,你指定一个条件,然后这个函数会一直阻塞到服务端告知这个条件满足了才会返回值。(当然,为了防止死等,这个函数还有一个超时参数),例子:  db.runCommand({getlasterror:1,w:2})  上面命令表示等写操作被写到两个结点再返回成功。  这一功能使得数据安全性的保证更加灵活。  而最近有朋友在Redis上也实现了这一功能,实现的方式不是修改Redis源码,而是使用现有的功能拼得出,具体过程如下:  Redis怎样实现MongoDB的getlasterror功能  1.ClientSUBSCRIBEstoKEYon*slave*  2免费主机域名.ClientwritesKEY(e.g.setfoobar)tomaster  3.ClientpublishesKEYtomaster  由于Redis的单线程写操作,下面两个操作会被顺序执行  4.MasterwillreplicateKEYtoslave  5Mast免费主机域名erwillpropogate*PUBLISHKEY*toslave  最后,在Master同步完数据后,客户端会收到SUBSCRIBE的消息:  6.GetsKEYeventonSUBSCRIBE!以上是“Redis如何实现MongoDB的getlasterror功能”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注云技术行业资讯频道!

相关推荐: windows7怎么安装与卸载oracle 11G

本篇内容主要讲解“windows7怎么安装与卸载oracle 11G”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“windows7怎么安装与卸载oracle 11G”吧!一 数据库安装1 环境说明1.1操作系统版本…

文章页内容下
赞(0) 打赏
版权声明:本站采用知识共享、学习交流,不允许用于商业用途;文章由发布者自行承担一切责任,与本站无关。
文章页正文下
文章页评论上

云服务器、web空间可免费试用

宝塔面板主机、支持php,mysql等,SSL部署;安全高速企业专供99.999%稳定,另有高防主机、不限制内容等类型,具体可咨询QQ:360163164,Tel同微信:18905205712

主机选购导航云服务器试用

登录

找回密码

注册