Aerospike的bin内存管理--即列内存管理
发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,1、内存申请函数调用write_master->write_master_dim->write_master_bin_ops->write_master_bin_ops_loop->as_bin_pa
千家信息网最后更新 2026年11月02日Aerospike的bin内存管理--即列内存管理

1、内存申请函数调用
write_master->write_master_dim->write_master_bin_ops
->write_master_bin_ops_loop->as_bin_particle_alloc_from_client:
该函数对as_bin_s->particle进行申请内存,并将相关bin属性和值load到
申请的内存中。
2、内存释放函数调用
as_record_done->as_record_destroy->as_record_clean_bins
->as_record_clean_bins_from
点击(此处)折叠或打开
- void as_record_clean_bins_from(as_storage_rd *rd, uint16_t from)
- {
- for (uint16_t i = from; i < rd->n_bins; i++) {
- //对每个bin进行释放
- as_bin *b = &rd->bins[i];
- if (as_bin_inuse(b)) {//bin state有效
- as_bin_particle_destroy(b, rd->ns->storage_data_in_memory);
- as_bin_set_empty(b);//设置bin的状态AS_BIN_STATE_UNUSED
- }
- }
- }
- void as_bin_particle_destroy(as_bin *b, bool free_particle)
- {
- if (as_bin_is_embedded_particle(b)) {
- b->particle = 0;//int、float类型没有申请空间,这里set 0即可
- }
- else if (b->particle) {
- if (free_particle) {
- particle_vtable[as_bin_get_particle_type(b)]->destructor_fn(b->particle);
- }
- //根据类型调用destructor函数,blob的调用blob_destruct,其实是cf_free(p)
- //释放了空间,将其set 0
- b->particle = 0;
- }
- }
内存
函数
空间
类型
管理
有效
属性
状态
并将
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
百单网互联网科技有限公司
互联网科技工作委员会
互联网佳科技有限公司
中关村互联网 科技集团
互联网下的科技发展
科技信息互联网
互联网科技未来
融势互联网科技
碳银互联网科技有限公司
安控科技rtu产品工业互联网
恒银科技与互联网金融
互联网教育科技公司vipkid
互联网科技项目计划书材料类
互联网公司科技股
互联网科技与大数据专业
高科技互联网套路
伍佰万互联网科技怎么赚钱
云南省自由互联网科技有限公司
杭州披云加互联网科技有限公司
北京军民互联网科技公司
新华互联网科技
科技股互联网
互联网科技小贷
互联网科技的英文
南京欣网互联网科技
金融科技和互联网金融
恒生互联网科技指数跳水
普陀区互联网教育科技管理办法
互联网高科技行业有哪些企业
高科技和互联网的现代国家