小数据池 id

1. 小数据池, id()
小数据池针对的是: int, str, bool
在py文件中几乎所有的字符串都会缓存.
id() 查看变量的内存地址

# id()函数可以帮我们查看一个变量的内存地址
# a = 10
# b = 30
# print(id(a))  # 1515545088
# print(id(b))  # 1515545728


# lst = ['周杰伦', "麻花藤"]
# print(id(lst))  # 166167624
# print(lst)
# lst = []  # 创建了一个新列表
# lst.append("胡辣汤")
# print(id(lst))  # 166167624
# print(lst)

# lst1 = [1,2,3] # 两个对象 内存地址是不一样的
# lst2 = [1,2,3]
# print(id(lst1)) # 166167624
# print(id(lst2)) # 166122376

# s1 = "abc" # 内存中是没有"abc", 创建一个新的  0.0001
# s2 = "abc" # 内存中是已经有了"abc", 直接把abc拿来用   0.0000001
# print(id(s1), id(s2)) # 31096032 31096032

# 视频频率最高的数据类型: 字符串,为了能够快速的创建字符串.
# 节省内存. 把相同的规律的字符串进行缓存,当下次创建的时候就不在创建了
# 把字符串的缓存-> 小数据池 -> String iterning -> 常量池 -> 字符串缓存

# 在创建字符串之前. 先去小数据池对比. 是否已经存在了该字符串.如果存在了.
# 就不创建新的了. 直接拿原来存在的数据, 省略掉反复重复创建字符串的过程. 节约内存


# 什么数据会被缓存
# 数字, 字符串, 布尔值 =>  都是不可变的数据类型
# 1. 数字
# a = 1000
# b = 1000
# print(id(a), id(b))  # 165830000 165830000

# 2. 字符串. 如果单纯的写字符串. 几乎都会被缓存
# s1 = "alex昨天上厕所没关门. 韩红冲进去了. 面筋歌出来了. 有故事alex昨天上厕所没关门. 韩红冲进去了. 面筋歌出来了. 有故事alex昨天上厕所没关门. 韩红冲进去了. 面筋歌出来了. 有故事"
# s2 = "alex昨天上厕所没关门. 韩红冲进去了. 面筋歌出来了. 有故事alex昨天上厕所没关门. 韩红冲进去了. 面筋歌出来了. 有故事alex昨天上厕所没关门. 韩红冲进去了. 面筋歌出来了. 有故事"
#
# print(id(s1), id(s2)) # 31222064 31222064

# 如果在py文件中写的字符串. 几乎都是缓存的
# 在黑窗口里的写的几乎都不会缓存
# 不同的解释器. 缓存的机制也不一样

# 优点: 可以帮我们快速的创建对象.节省内存.
# 缺点: 缓存如果过大. 响应速度会比较慢
# 不要纠结.

# == 和 is 区别:

# == 比较的是数据, 外贸
# is 比较的是内存地址, 比较身份证号

# lst1 = [1,2,3]
# lst2 = [1,2,3]
# # 列表没有小数据池
# print(id(lst1), id(lst2)) #  166167560 166126408
# print(lst1 == lst2) # True
# print(lst1 is lst2) # False
#
# s1 = "我叫周润发"
# s2 = "我叫周润发"
# print(s1 == s2)
# print(s1 is s2) # 小数据池

# tu1 = ("周一", "周二")
# tu2 = ("周一", "周二")
# print(tu1 is tu2) # 地址不相等 False
# print(tu1 == tu2) # 内容相等 True

# == 比较的是内容
# is 比较内存地址

  

转载于:https://www.cnblogs.com/YangWenYu-6/p/10060809.html

### 配置和管理 AWS RDS Proxy 数据 #### 创建并配置 RDS Proxy 为了创建一个新的 RDS Proxy 实例,在 AWS 控制台中选择所需的数据库实例作为目标。RDS Proxy 将会自动检测该数据库的支持特性,并设置相应的参数[^1]。 ```bash aws rds create-db-proxy \ --db-proxy-name myProxyName \ --engine-family MYSQL \ --auth "AuthScheme=SECRETS_MANAGER,AwsSecretStoreArn=my-secret-arn,Username=admin" \ --role-arn arn:aws:iam::account-id:role/proxy-role \ --vpc-subnet-ids subnet-abcd1234 \ --security-group-ids sg-efgh5678 \ --region us-west-2 ``` 这段命令用于启动新的 RDS Proxy 资源,其中指定了引擎家族、认证方式以及其他必要的网络配置选项。 #### 设置数据大小 当定义好 RDS Proxy 后,可以进一步指定连接的最大容量——即最大并发连接数量。这有助于控制成本并防止过多的同时连接耗尽数据库资源。可以通过修改 `max_connections_percent` 参数来调整此限制;默认情况下,这个百分比被设定为 100%,意味着代理不会超过所关联数据库的最大允许连接数。 ```json { "defaultTargetGroup": { "connectionPoolConfig": { "maxConnectionsPercent": 50, "sessionPinningFilters": ["EXCLUDE_UNKNOWN_ROUTES"] } } } ``` 上述 JSON 片段展示了如何通过 API 或者 CLI 来更新现有的 RDS Proxy 的连接配置属性。 #### 管理读写分离的数据 对于支持多可用区或多主架构的数据库集群来说,还可以利用 RDS Proxy 进行更复杂的路由决策。例如,可以在不同的目标组之间分配请求,从而实现读取操作偏向于只读副本而写入则定向到主节点上执行。这种策略不仅提高了系统的可扩展性和性能表现,同时也增强了高可用性的保障水平。 ```python import boto3 client = boto3.client('rds') response = client.modify_db_proxy( DBProxyName='myProxy', NewDBProxyDescription='Updated description.', Auth=[ { 'AuthScheme': 'SECRET_ARN', 'SecretArn': 'secret-arn-for-authentication' }, ], RequireTLS=True|False, IdleClientTimeout=123, DebugLogging=False, RoleArn='string', SecurityGroups=['sg-xxxxxx'], TargetRole='READ_WRITE'|'READ_ONLY', ) print(response['DBProxy']) ``` 以上 Python 代码片段说明了怎样借助 Boto3 库去更改现有 RDS Proxy 的一些重要安全性和行为特征,包括但不限于身份验证机制的选择、是否强制传输层安全性 (TLS),以及客户端空闲超时时间等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值