• 0

    PHP 中的幾種進程間共享內存使用方式

    jopen 10年前發布 | 44K 次閱讀 PHP PHP開發
    1. 最常見的 APC

    PHP 中的幾種進程間共享內存使用方式

    可以緩存 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

    來自:http://blog.eood.cn/php_share_memory
     本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
     轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
     本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!
  • sesese色