当前位置: 首页 > news >正文

怎么兼职做网站三栏式布局的网站有哪些

怎么兼职做网站,三栏式布局的网站有哪些,wordpress如何绑定多个域名,镇江核酸检测最新通知Redis通过自己的方法管理内存,#xff0c;主要方法有zmalloc(),zrealloc()#xff0c; zcalloc()和zfree(), 分别对应C中的malloc(), realloc()、 calloc()和free()。相关代码在zmalloc.h和zmalloc.c中。 Redis自己管理内存的好处主要有两个#xff1a;可以利用内存池等手段…Redis通过自己的方法管理内存,主要方法有zmalloc(),zrealloc() zcalloc()和zfree(), 分别对应C中的malloc(), realloc()、 calloc()和free()。相关代码在zmalloc.h和zmalloc.c中。 Redis自己管理内存的好处主要有两个可以利用内存池等手段提高内存分配的性能可以掌握更多的内存信息以便于Redis虚拟内存(VM)等功能中决定何时将数据swap到磁盘。 先回忆各个系统中常见的内存分配函数 malloc()分配一块指定大小的内存区域并返回指向区域开头的指针若分配失败则返回NULL。 calloc()与malloc()一样分配一块指定大小的内存区域成功时返回区域头指针失败返回NULL。 区别在于 calloc()的输入参数为count和size即分配的项的数 目及每一项的大小。 calloc()在成功分配内存空间后会将空间内所有值置0。 realloc()修改已分配的内存块的大小。若已分配的内存块后没有足够的空间用于扩展内存块则重新申请一块满足需要的内存块并将旧的数据拷贝到新位置释放旧的内存块返回指向新的内存块的指针否则直接扩展原有的内存块。若分配失败返回NULL。 free()释放已分配的内存块。 内存分配 在Redis中如果系统中包含TCMALLOC则会使用tc_malloc()等TCMALLOC中的方法代替malloc()等原有的分配内存方法。 TCmalloc是google perftools中的一个组件。 #if defined(USE_TCMALLOC) #define malloc(size) tc_malloc(size) 首先看zmalloc()和zfree()两个最常用的方法。 Redis在申请内存时除了申请需要的size外还会多申请一块定长(PREFIX_SIZE)的区域用于记录所申请的内存块的长度。如果申请成功 Redis会使用宏函数Redis中为性能考虑大量使用宏函数 update_zmalloc_stat_alloc(sizePREFIX_SIZE, size)记录申请的内存块的相关信息以便监控内存使用状况当内存块被zfree()释放时根据头部的信息可以快速地获知被释放的内存区域的长度然后通过宏函数update_zmalloc_stat_free()标记释放。源代码中若系统支持malloc_size()方法则会使用它返回指针所指向的内存块的大小Mac OS X 10.4以上支持该方法[3]。 有疑惑的是在支持malloc_size()的系统中为何还要多申请PREFIX_SIZE的内存   void *zmalloc(size_t size) {void *ptr malloc(sizePREFIX_SIZE);if (!ptr) zmalloc_oom(size); #ifdef HAVE_MALLOC_SIZEupdate_zmalloc_stat_alloc(redis_malloc_size(ptr),size);return ptr; #else*((size_t*)ptr) size; // 在头部记录内存块的长度update_zmalloc_stat_alloc(sizePREFIX_SIZE,size);return (char*)ptrPREFIX_SIZE; #endif } 宏update_zmalloc_stat_alloc()中首先将要分配的空间与内存对齐然后会根据宏zmalloc_thread_safe判断是否需要对内存信息记录表的相关操作加锁。虽然Redis在大部分场景中是单线程读写的即thread_safe的但启用虚拟内存(VM)或持久化dump到磁盘等操作时会启动多线程因此在多线程模式中需要对部分操作加锁。内存监控 used_memory记录了Redis使用的内存总数。而多线程下malloc()是线程安全的。 zmalloc_allocations[]记录了各个size分配的内存块的数目大于256个字节的按256算。应用程序可以通过zmalloc_allocations_for_size(size)获得对应size的 内存块的分配数目也可以通过zmalloc_used_memory()获得Redis占用的总内存。这些监控类的方法在Redis的日志系统中被用到。 zcalloc(size)、 zrealloc()与zmalloc()的处理策略类似不再详述。 在部分操作系统中 Redis可以通过zmalloc_get_rss()方法获得自己的进程占用 的内存信息。该信息通过操作系统提供往往比Redis自己记录的used_memory更准确 但其获取速度也较慢。这些信息也是用于虚拟内存功能。 除了内存相关的操作外 Redis在此还提供了一个复制字符串的方法zstrdup(char *)该方法将申请一块与源字符串长度相同的内存区域并用memcpy()拷贝字符串的内 容。
http://www.pierceye.com/news/507100/

相关文章:

  • 苏州住房和城乡建设局网站wordpress中文书
  • 盐城市滨海县建设局网站wordpress 4.8.1 漏洞
  • 荆州市城市建设投资开发有限公司网站百度人工服务24小时
  • 永久域名购买昆明网站建设优化企业
  • 自适应网站模板下载网页设计培训哪好
  • 做门窗网站便宜的vps租用网站
  • 龙岗附近公司做网站建设多少钱公司行业类型有哪些
  • 188旅游网站管理系统源码做外贸有那些网站平台
  • 江苏网站建设要多少钱近三个月以来的国际新闻
  • 旬阳做网站免费漫画软件
  • asp相册网站源码企业网站建设的上市公司
  • 做网站和软件哪个挣钱国家企业信用信息公示系统山西
  • 做网站前的准备什么二建证考试需要什么条件
  • 男女做a视频网站asp单页网站源码
  • 手机页面网站模板怎么卖做淘宝保健品药品在哪个网站找素材
  • 青县建设银行网站百度投广告怎么收费
  • 广州天河做网站河南建筑工程信息网官网
  • 展示型网站怎么做响应式网站导航栏内容
  • 建设实验教学网站的作用电脑前端主要做什么
  • 搭建租号网的网站网站收录了没有排名
  • 商城网站前期准备seo优化能提高网站的流量吗
  • 时间轴网站代码免费的wordpress
  • 合肥网站推广公司制作微信的网站有哪些
  • 低价网站建设方案网站做框架
  • 企业网站建设平台的分析网站建设产品
  • 企业app定制开发设计方案win10系统优化
  • 网站开发需要逻辑吗线下编程课程收费标准
  • 网站的费用多少wordpress替换js为外部引用
  • 工业设备网站源码国家图书馆网站建设介绍
  • 南昌制作网站软件站长统计app软件