中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

PHP共享內存段實現,使用shmop函數實現內存共享

發布時間:2020-04-20 00:07:01 來源:網絡 閱讀:11283 作者:濤哥1989 欄目:web開發

所謂內存共享:就是多個應用程序公用一個內存段,在A程序中可以獲取B程序存儲在這個內存段的數據,也就是數據共享。


shmop是PHP提供的函數集,在配置PHP的時候使用 -enable-shmop后,就可以使用這個函數集提供的函數,


shmop對LINUX更加友好,而對于WINDOWS來說就不怎樣了,不支持CGI和CLI模式~有點尷尬。


來說說他提供的一些函數:

ftok函數:生成一個數字或叫做鍵或key。$key = ftok(fileName, mode); 一般情況下,這個fileName可以直接使用__FILE__來指向當前文件,mode則比較靈活,是一個字符串類型,比如:"a", "b", "p"


shmop_open($key, $mode, $permission, $size);   開啟一個內存段

這里的key就是ftok生成的哪個key,$mode是打開這個內存段的模式。包括:

a:    它允許訪問只讀的內存段

w:    它允許訪問可讀寫的內存段

c:    創建一個新的內存段,如果已經存在,嘗試讀寫

n:    創建一個新的內存段,如果已經存在,則失敗

$size指的是申明的這個內存段的大小,字節為單位、

shmop_open返回一個ID,這個ID是內存段ID,可以ftok生成的key不是一回事。注意!


shmop_write($id, $stringData, $offset);

往id這個內存段中寫入字符串數據,從$offset的位置開始,offset一般會設置為0, 注意,這里存儲只能是字符串類型。注意轉換。


shmop_read($id, $offset, $limit);

讀取數據,從$offset開始讀取$limit個字符。


shmop_size($id);

獲取總共存儲了多少個字節。


shmop_delete($id)

清空這個內存段的內容


shmop_close($id)

關閉這個內存端,也叫做內存回收~ 


好了,介紹了這些基礎方法,大家應該都嘗試過了,我們應該將這些內容進行一個封裝,于是我對它進行了封裝,做成了一個類,也方便了以后的擴展

github地址:

https://github.com/toulen/Tshmop


composer安裝:

composer require toulen/tshmop:1.0

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

边坝县| 临汾市| 云林县| 迁西县| 左权县| 衡山县| 法库县| 玉屏| 英德市| 赣榆县| 台湾省| 淮北市| 凤翔县| 鄂尔多斯市| 清新县| 涞源县| 岳普湖县| 安图县| 利辛县| 富顺县| 泸水县| 鄂托克旗| 平顶山市| 玛曲县| 鄯善县| 花莲县| 米林县| 菏泽市| 北票市| 思茅市| 阿拉善盟| 泽库县| 南通市| 海淀区| 蕲春县| 卢龙县| 嘉善县| 罗山县| 和政县| 兴安盟| 新昌县|