欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

PHP 中的几种进程间共享内存使用方式

程序员文章站 2022-05-02 17:53:47
...

1. 最常见的 APC 可以缓存 PHP 的 opcode 提高应用的性能 可以在同个 PHP-FPM 进程池的进程间共享数据 常用功能: apc_store apc_fetch apc_add apc_delete apc_inc apc_dec apc_cas apc_clear_cache apc_sma_info 2. Shmop Unix 系统共享内存使用接口 常用功

PHP 中的几种进程间共享内存使用方式

1. 最常见的 APC

可以缓存 PHP 的 opcode 提高应用的性能

可以在同个 PHP-FPM 进程池的进程间共享数据

常用功能:

apc_store apc_fetch

apc_add apc_delete

apc_inc apc_dec

apc_cas

apc_clear_cache

apc_sma_info

2. Shmop Unix 系统共享内存使用接口

常用功能:

shmop_open shmop_close

shmop_read shmop_write

shmop_delete

ipcs -m ?查看本机共享内存的状态和统计

ipcrm -m shmid 或 ipcrm -M shmkey 清除共享内存中的数据

3. SystemV Shm

常用功能:

ftok

shm_attach shm_detach

shm_put_var shm_get_var shm_remove_var

4. 使用共享内存需要考虑操作的原子性和锁、并行和互斥

sem 信号量相关函数:

sem_get sem_remove

sem_acquire sem_release (保证原子性)

其他常见锁机制:文件锁机制 flock

5. PHP 提供的 IPC 机制

–enable-shmop 共享内存,只能按字节操作

–enable-sysvsem 信号量

–enable-sysvshm 共享内存,和 shmop 的差别是提供的操作函数不同,支持 key、value操作

–enable-sysvmsg 消息队列

参考:

http://php.net/manual/zh/book.apc.php

http://docstore.mik.ua/orelly/webprog/pcook/ch05_07.htm

http://www.re-cycledair.com/php-dark-arts-shared-memory-segments-ipc