「SequoiaDB巨杉数据库」setSessionAttr()概述1

名称

setSessionAttr - 设置会话属性

语法

db.setSessionAttr( <options> )

参数

options 格式

Note:

  • PreferedInstance 和 PreferedInstaceMode 的缺省值是协调节点配置中 preferedinstance 和 preferedinstancemode 的取值。
    • 协调节点配置 preferedinstance 的默认值是 "M",preferedinstacemode 的默认值是 "random"。
  • PreferedInstance 的取值分为两类,一类是角色取值,如 "M", "S" 等;一类是实例取值,即数据节点通过配置 instanceid 设置的实例 ID。
    • 角色取值:"M", "m":可读写实例(主实例);"S", "s": 只读实例(备实例);"A", "a": 任意角色实例。
    • 实例取值:1-255,指定匹配 instanceid 设置的节点。数据节点可以通过配置 instanceid 配合使用。
      • 实例的 ID 可以通过数据节点的配置项 instanceid 进行设置,同一个数据组中可以配置多个相同实例 ID 的数据节点。
      • 修改数据节点的配置项 instanceid 不能动态生效,需要手工停启数据节点。重启之后也需要手工调用 Sdb.invalidateCache() 清空各个协调节点的缓存。
      • 在节点配置了 instanceid 的情况下,按照 instanceid 进行获取。在节点没有配置 instanceid 的情况下,按照节点的 NodeID 在组内的排序序列(从1开始)作为 instanceid 来进行选取,例如 组 db1 中有3个节点 [ {NodeID:1001}, {NodeID:1004}, {NodeID:1002} ],那么其节点的 instanceid 分别为 1, 3, 2。
    • 如果一个或多个实例取值和一个角色取值混合指定,则优先选择匹配实例 ID 的一组节点中符合角色的节点。如 [ 1, 2, "S" ] 表示优先选择实例 ID 为 1 或者 2 的节点中的备节点。
    • 混合指定时,可以通过 "-" 扩展角色取值,如 "-M","-S" 等,表示如果没有匹配实例 ID 的节点时,优先选择角色节点,如 [ 1, 2, "-S" ] 表示优先匹配实例 ID 为 1 或者 2 的节点,如果没有,则优先选择任意一个备节点。
    • 混合指定时,如果指定多个角色取值实例,或者其扩展取值,则只有第一个生效。如 [ "M", "S" ] 中只生效 "M"。
    • 单独指定时,角色取值的扩展模式和角色取值的语义是相同的。如单独指定 "S" 和 "-S",语义是一致的。
    • 如果同一个会话中,读请求前有写请求,写请求之后的一段时间内读请求将默认使用写请求使用的节点(可读写例)进行读取,可以通过设置 PreferedPeriod 来修改读请求复用写请求节点的有效期限。
    • 如果没有符合 PreferedInstance 的实例,之前也没有写请求,一般在数据组中随机选取节点进行。特殊情况是,为了兼容之前的版本,如果单独指定一个实例取值时,将按照实例 ID - 1 后对节点总数取模后在组内按照 NodeID 的升序排序顺序选取。
  • PreferedPeriod 的缺省值是协调节点配置中 preferedperiod 的取值。
    • 如果上一次选择进行请求的节点在有效周期内,读请求仍使用该节点进行查询,周期之后,将根据 PreferedInstance 重新选择。
    • 默认值为60。
    • 取值范围为 [-1, 231 - 1]。
    • -1表示不失效。
    • 0表示本次查询不使用上次选择的优先实例,根据 PreferedInstance 进行重新选择。
    • 该参数仅适用于 SequoiaDB 2.8.9 版本,3.2.5 及以上版本。
  • Timeout 的默认值是 -1,即不进行超时检测。
  • 事务相关属性只有 TransTimeout 允许在事务中设置,其它事务属性需要在非事务中设置。
  • RR 隔离级别需要全局事务的支持:
    • 开启全局事务需要设置 SequoiaDB 的配置参数 mvccon 和 globtranson 为 true
    • 另外,需要时间序列服务(STP)的支持,详细请参考 时间序列服务
  • 获取会话属性请参考 Sdb.getSessionAttr() 。

点击巨杉数据库文档中心了解更多信息

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值