一、读取关注(readConcern)

官方文档

3.2版本以后支持读取关注

读取关注允许您控制从副本集和副本集分片读取的数据的实时性,一致性和隔离性。

通过有效使用写入关注和读取关注,可以适当调整一致性和可用性保证的级别,例如等待更强的一致性保证,或者放松一致性要求以提供更高的可用性。

现在读取关注分为了一下几个级别:

二、读取偏好(Read Preference)

官方文档

阅读偏好描述mongodb客户端如何将读取操作路由到副本集的成员。

默认情况下,应用程序将其读取操作指向副本集中的主节点。

注: 
1. 指定读取偏好时要小心:除主节点之外的其他模块可能会返回过时数据,因为使用异步复制时,从节点中的数据可能不会反映最近的写入操作。 
2. 读取偏好不会影响数据的可见性;即客户端可以在确认或传播给大多数副本集成员之前看到写入结果: 无论写入问题如何,使用”local” 或”available”读取关注的其他客户端都可以在写入操作被确认给发出客户端之前看到写入操作的结果。 使用”local” 或”available”读取关注的客户端可以读取可能随后回滚的数据。

阅读偏好    描述

mongo之 ReadConcern 与 Read Preference的更多相关文章

  1. golang mgo的mongo连接池设置:必须手动加上maxPoolSize

    本司礼物系统使用了golang的 mongo库 mgo,中间踩了一些坑,总结下避免大家再踩坑 golang的mgo库说明里是说明了开启连接复用的,但观察实验发现,这并没有根本实现连接的控制,连接复用仅 ...

  2. mongo 读分析

    分布式读 读冲突 分布式中数据库有多份数据,各份数据可能存在不一致性. mongo 只会写到primary节点上,理论上来说不会有文档冲突,也就是说数据库中的数据都以primary节点为标准. 但是有 ...

  3. mongo学亮的分享

    # MongoDB 集群部署## 关键词* 集群* 副本集* 分片## MongoDB集群部署>今天主要来说说Mongodb的三种集群方式的搭建Replica Set副本集 / Sharding ...

  4. mongo的集群部署

    # MongoDB 集群部署 ## 关键词 * 集群 * 副本集 * 分片 ## MongoDB集群部署 >今天主要来说说Mongodb的三种集群方式的搭建Replica Set副本集 / Sh ...

  5. count failed: not master{ "note" : "from execCommand", "ok" : 0, "errmsg" : "not master" } at src/mongo/shell/query.js:191在SECONDARY节点无法show dbs

    count failed: not master{ "note" : "from execCommand", "ok" : 0, " ...

  6. Mongo.setReadPref(mode, tagSet) primaries and secondaries are treated equivalently. 读优先级策略

    https://docs.mongodb.com/manual/reference/method/Mongo.setReadPref/#Mongo.setReadPref Mongo.setReadP ...

  7. Mongo Cursor

    简介 在使用 Java 对数据库进行连接时,都会获取到一个 cursor ,cursor 实际指到的是我们查询数据库的query,而并不是 query 查询到的数据集. 此次在使用 mongo 的 c ...

  8. 谈一谈NOSQL的应用,Redis/Mongo

    1.心路历程 上年11月份来公司了,和另外一个同事一起,做了公司一个移动项目的微信公众号,然后为了推广微信公众号,策划那边需要我们做一些活动,包括抽奖,投票.最开始是没有用过redis的,公司因为考虑 ...

  9. MongoDB分组汇总操作,及Spring data mongo的实现

    转载请在页首注明作者与出处 一:分组汇总 1.1:SQL样例 分组汇总的应用场景非常多,比如查询每个班级的总分是多少,如果用关系形数据库,那么sql是这样子的 ),class from score g ...

随机推荐

  1. tf 模型保存

    tf用 tf.train.Saver类来实现神经网络模型的保存和读取.无论保存还是读取,都首先要创建saver对象. 用saver对象的save方法保存模型 保存的是所有变量 save( sess, ...

  2. CodeForces ~ 996

    Allen has a LOT of money. He has nn dollars in the bank. For security reasons, he wants to withdraw ...

  3. Oracle包和包体

    一.什么要使用包? 在一个大型项目中,可能有很多模块,而每个模块又有自己的过程.函数等.而这些过程.函数默认是放在一起的(如在PL/SQL中,过程默认都是放在一起 的,即Procedures中),这些 ...

  4. ios表单上传图片或文件

    http://www.cocoachina.com/bbs/read.php?tid-89985-page-1.html http://www.jianshu.com/p/44629e5bf986 h ...

  5. 初玩OpenWRT之编译TP-Link WR841N V8固件

    0x00 安装依赖 安装git以下载OpenWrt源码.安装编译工具以进行交叉编译: sudo apt-get update sudo apt-get install build-essential ...

  6. diary of laravel

    1.  修改数据库连接 初始化数据库:   首先: 修改 config- database.php 中的 数据库链接 其次:修改   .env 中数据库链接 创建表: php artisan migr ...

  7. SQL注入之Sqli-labs系列第十五关和第十六关(基于POST的时间盲注)

    开始挑战第十五关(Blind- Boolian Based- String)和 第十六关(Blind- Time Based- Double quotes- String) 访问地址,输入报错语句 ' ...

  8. ECONOMETRICS CHAPTER3

    前几天看王垠的一篇文章谈数学与编程,说数学公式之所以难以理解是因为缺乏统一的形式,而且经常有未定义的变量出现.看这本书时也正有此感,所以有时不必要拘泥公式是否前后一致,理解意思要紧. ♣普通最小二乘法 ...

  9. iccv文献引用

    1.@inproceedings:会议 2.@article:期刊 3.@incollection:书 4.@misc:啥不是 author的名字书写: pdf显示为:G. Wang bibtex中: ...

  10. Python之路,第八篇:Python入门与基础8

    python3    字典(dict) 概念:1 ,字典是一种可变的容器,可以存储任意类型的数据: 2, 字典中的每个数据都是用“键”(key)进行索引,而不像序列可以用下标进行索引: 3, 字典中的 ...