成人怡红院-成人怡红院视频在线观看-成人影视大全-成人影院203nnxyz-美女毛片在线看-美女免费黄

站長資訊網(wǎng)
最全最豐富的資訊網(wǎng)站

php共享緩存之Yac替換APCU memcache!

本篇文章給大家?guī)砹岁P(guān)于php+yac的相關(guān)知識,其中主要跟大家聊一聊怎么用Yac替換APCU memcache,感興趣的朋友下面一起來看一下吧,希望對大家有幫助。

yac 緩存

Yac 是用于 PHP 的共享和無鎖內(nèi)存用戶數(shù)據(jù)緩存。它可以用來替換 APC 或本地 memcached。鳥哥出品必屬精品

要求

PHP 7 +

Install

$/path/to/phpize $./configure --with-php-config=/path/to/php-config $make && make install
登錄后復(fù)制

Note

  • Yac 是無鎖緩存,您應(yīng)該盡量避免或減少多個進程設(shè)置一個相同鍵的概率

  • Yac 使用部分 crc,您最好重新排列緩存內(nèi)容,將最重要 (可變) 的字節(jié)放在頭部或尾部

Restrictions

  • 緩存 key 不能大于 48 (YAC_MAX_KEY_LEN) bytes

  • 緩存內(nèi)容不能大于 64M (YAC_MAX_VALUE_RAW_LEN) bytes

  • 壓縮后的緩存值不能大于 1M 1M (YAC_MAX_VALUE_COMPRESSED_LEN) bytes

ini 配置

yac.enable = 1 yac.keys_memory_size = 4M ; 4M can get 30K key slots, 32M can get 100K key slots yac.values_memory_size = 64M yac.compress_threshold = -1 yac.enable_cli = 0 ; 是否使用cli啟用yac,默認為0 yac.serializer = php ; yac2.2.0以來,yac使用的特定seralizer json(-- enable-json) 、msgpack(-- enable-msgpack) 或igbinary(-- enable-igbinary)
登錄后復(fù)制

常量

YAC_VERSION YAC_MAX_KEY_LEN = 48 ; if your key is longer than this, maybe you can use md5 result as the key YAC_MAX_VALUE_RAW_LEN = 64M YAC_MAX_VALUE_COMPRESSED_LEN = 1M YAC_SERIALIZER_PHP = 0   ; since yac-2.2.0 YAC_SERIALIZER_JSON = 1  ; since yac-2.2.0 YAC_SERIALIZER_MSGPACK = 2 ; since yac-2.2.0 YAC_SERIALIZER_IGBINARY = 3 ; since yac-2.2.0 YAC_SERIALIZER  ; serializer according to yac.serializer, default is YAC_SERIALIZER_PHP
登錄后復(fù)制

注意 cli 下會出現(xiàn)的問題

如果 cli情況下 一定ini配置開啟cli-enable

<?php   use DoraemonpocketsdatebaseShareCache; //實例化緩存封裝類 $cache  = new ShareCache('test'); //設(shè)置緩存 $cache->set([1,2,3,5,6]); //獲取緩存 $a = $cache->get();   //備注 1.由于yac的緩存是共享的,所以在多個項目中使用時,需要注意key的唯一性,否則會出現(xiàn)緩存覆蓋的情況 //備注 2.由于cli在執(zhí)行后會自動退出,所以在cli中使用時,需要注意緩存的有效期,當再次執(zhí)行時候換存是拿不到的 //例如  //例 //step 1 <?php use DoraemonpocketsdatebaseShareCache; $cache  = new ShareCache('test'); //設(shè)置緩存 $cache->set([1,2,3,5,6]); //php step1.php //執(zhí)行后會自動退出,緩存失效  <?php use DoraemonpocketsdatebaseShareCache;  //step 2 $cache  = new ShareCache('test'); //設(shè)置緩存 $arr = $cache->get(); var_dump($arr);// 空 //php step2.php //執(zhí)行事后上一個進程已經(jīng)退出,所以緩存失效
登錄后復(fù)制

方法

Yac::__construct

Yac::__construct([string $prefix = ""])
登錄后復(fù)制

Yac 的構(gòu)造函數(shù),您可以指定一個前綴,該前綴將用于在執(zhí)行設(shè)置 / 獲取 / 刪除時預(yù)先添加到任何鍵

<?php    $yac = new Yac("myproduct_"); ?>
登錄后復(fù)制

Yac::set

   Yac::set($key, $value[, $ttl = 0])    Yac::set(array $kvs[, $ttl = 0])
登錄后復(fù)制

將一個值存儲到 Yac 緩存中,鍵是緩存唯一的,因此使用相同的鍵存儲第二個值將覆蓋原始值。

成功時返回 true,錯誤時返回 false (如無內(nèi)存,無法獲得 cas write right)

<?php $yac = new Yac(); $yac->set("foo", "bar"); $yac->set(     array(         "dummy" => "foo",         "dummy2" => "foo",         )     ); ?>
登錄后復(fù)制

Note:

如 Yac 2.1,如果 cas 競爭失敗,可能會失敗,您可能需要執(zhí)行以下操作:

while (!($yac->set("important", "value")));
登錄后復(fù)制

Yac::get

 Yac::get(array|string $key[, &$cas = NULL])
登錄后復(fù)制

從緩存中獲取存儲變量。如果一個數(shù)組被傳遞,那么每個元素都被獲取并返回。成功時返回值,錯誤時返回 false

<?php $yac = new Yac(); $yac->set("foo", "bar"); $yac->set(     array(         "dummy" => "foo",         "dummy2" => "foo",         )     ); $yac->get("dummy"); $yac->get(array("dummy", "dummy2")); ?>
登錄后復(fù)制

Yac::delete

Yac::delete(array|string $keys[, $delay=0])
登錄后復(fù)制

從緩存中刪除存儲的變量。如果指定了延遲,則該值將在 $delay 秒后刪除。

Yac::flush

Yac::flush()
登錄后復(fù)制

立即使所有現(xiàn)有項目無效。它實際上并沒有釋放任何資源,它只將所有項目標記為無效。

Yac::info

Yac::info(void)
登錄后復(fù)制

獲取緩存信息

<?php   ....   var_dump($yac->info());   /* will return an array like:   array(11) {       ["memory_size"]=> int(541065216)       ["slots_memory_size"]=> int(4194304)       ["values_memory_size"]=> int(536870912)       ["segment_size"]=> int(4194304)       ["segment_num"]=> int(128)       ["miss"]=> int(0)       ["hits"]=> int(955)       ["fails"]=> int(0)       ["kicks"]=> int(0)       ["slots_size"]=> int(32768)       ["slots_used"]=> int(955)   }   */
登錄后復(fù)制

<?php namespace TestCache use Yac; use RuntimeException; /**  * 共享緩存類  * Date: 2023/2/22  * Time: 16:13  * docs:  */ class ShareCache {     public bool $isEnable = true;     public string $key = '';     /**      *      * 共享內(nèi)存塊實例化。      */     public function __construct($key)     {         if (!extension_loaded("yac")) {             $this->isEnable = false;             throw new RuntimeException('yac 擴展不存在!');         }         if (!$key) {             throw new RuntimeException('key 不能為空!');         }         $this->key = md5($key);     }     /**      *      * 獲取共享內(nèi)存塊的值。      */     public function get()     {         if ($this->isEnable) {             return (new Yac('db_'))->get($this->key);         }         throw new RuntimeException('yac is not enable ,skip getCache');     }     /**      *      * 設(shè)置共享內(nèi)存塊的值。      */     public function set($var): bool     {         if ($this->isEnable) {             return (new Yac('db_'))->set($this->key, $var, 3600);         }         throw new RuntimeException('yac is not enable ,skip setCache');     }     /**      *      * 刪除共享內(nèi)存塊的值。      */     public function del(): bool     {         if ($this->isEnable) {             return (new Yac('db_'))->delete($this->key);         }         throw new RuntimeException('yac is not enable ,skip delCache');     }     /**      *      * 獲取共享內(nèi)存塊的信息。      */     public function info(): array     {         if ($this->isEnable) {             return (new Yac('db_'))->info();         }         throw new RuntimeException('yac is not enable ,skip info');     }     /**      *      * 清空共享內(nèi)存塊的值。      */     public function flush(): bool     {         if ($this->isEnable) {             return (new Yac)->flush();         }         throw new RuntimeException('yac is not enable ,skip flush');     } }
登錄后復(fù)制

推薦學習:《PHP視頻教程》

贊(0)
分享到: 更多 (0)
?
網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號
国产精品无码一区二区三区不卡| 曰批免费视频免费无码软件| 亚洲另类人妻小说| 野花香在线视频免费观看第一集| 18禁强伦姧人妻又大又| 差差差很疼免费软件APP下载 | 下面饿了想吃大香肠| 亚洲国产AV无码专区亚洲AVL| 亚洲综合AV一区二区三区| 99国产欧美另娄久久久精品| 第九理论午夜电影院| 国产精品久久久久久无码| 精品精品国产高清A级毛片| 麻花传媒MV一二三区别在哪里看 | 欧美精品亚洲日韩AⅤ| 亚洲 小说 欧美 激情 另类| 野花香在线视频免费观看第一集 | 三级做A全过程在线观看| 亚洲AV成人片色在线观看蜜桃| 伊人久久综合无码成人网| SLEEP强弙VIDE○SHO| 国产乱码一二三区精品| 老熟妇毛茸茸BBW视频| 日韩电影久久久被窝网| 亚洲AV无码精品色午夜果冻不卡| 中国极品少妇XXXXX1314| 粗大挺进尤物人妻中文字幕| 金瓶梅之爱的奴隶| 欧美性XXXXX极品少妇| 小东西好几天没弄了还能吃吗| 一本色道久久综合狠狠躁| 爆乳上司JULIA中文字幕| 国内精品久久久久久久小说| 女人18片毛片60分钟630| 四季亚洲AV无码一区在线观看 | 成人精品老熟妇一区二区| 好大好湿好硬顶到了好爽视频 | 9I国产麻豆国产AV旗袍| 国产青草视频在线观看| 蜜乳AV一区二区三区| 婷婷无套内射影院| 中日AV高清字幕版在线观看| 国产成人久久综合一区| 久久亚洲春色中文字幕久久久| 色综合久久久久久久久五月| 亚洲亚洲人成无码网WWW| 极品少妇被扒开双腿躁出白小说| 国产69成人精品视频免费| WWW.色五月.COM| 无码专区3D动漫精品免费| 欧美专区日韩视频人妻| 亚洲毛片无码专区亚洲乱| 疯狂做受XXXⅩ高潮视频免费| 国产精品自在拍首页视频| АⅤ资源中文在线天堂| 中文字幕人成乱码熟女免费| 亚洲色偷偷AV男人的天堂| 亚洲AV成人一区国产精品| 调教后把奶头拴在跑步机上虐 | 亚洲色欲综合天堂亚洲| 四虎影视在线观看2413| 少妇熟女久久综合网色欲| 日本少妇情视频WWW| 日韩AV无码午夜免费福利制服 | 亚洲AV日韩AV一区谷露| 野花高清在线观看免费| 性色A∨人人爽网站HD| 欧美午夜成人精品| 欧美日韩精品成人网站二区A∨有| 女人被狂躁高潮啊的视频在线看| 无码人妻丰满熟妇啪啪网不卡| 波多野结衣AV高清中文字幕| 把腿张开老子臊烂你多P| 久久久久久精品免费免费自慰| 为老公升职我主动奉献的句子说说| 69ZXX少妇内射无码| 精品韩国亚洲AV无码不卡区| 夫目前侵犯一区二区三区| 成人亚洲综合AV天堂| 免费无码AV片在线观看中文| 西西人体444WWW高清大但| 亚洲国产在一区二区三区| 一本加勒比HEZYO无码人妻| 55岁大妈玩CSGO| 成熟丰满熟妇高潮XXXXX| 成人夜色视频网站在线观看| 久久国内精品自在自线400部| 欧美日韩精品一区二区在线视频 | 亚洲精品无码7777| 国产传媒精品1区2区3区| 欧洲精品不卡1卡2卡三卡| 在公交车上弄到高C了公交车最后| 国内ZOOM人与ZOOM| 无码国产精品一区二区免费I6| 成年免费手机毛片免费看无码| 女人18毛片A级毛片视频| 野花高清在线观看免费官网| 狠狠色狠狠色综合久久| 午夜精品一区二区三区在线视| 丰满少妇被猛烈高清播放| 人妻大战黑人白浆狂泄| 777久久精品一区二区三区无码| 久久亚洲精品无码AV| 亚洲人成网站18禁止| 含羞草实验室隐藏路径2023| 午夜亚洲国产理论片亚洲2020| 国产大陆亚洲精品国产| 熟女俱乐部五十路六十路AV| 多肉大尺寸小黄说说| 人妻有码中文字幕| JAZZJAZZ国产精品| 欧美裸体XXXX| AV无码AV高潮AV喷吹免费| 男妓用舌头舔我高潮不退小说| 中国在线观看免费国语版| 狂野欧美性猛交XXXX| 揄拍成人国产精品视频| 老太太 GRANNY| А√天堂资源在线官网BT| 欧美性猛交一区二区| FREESEX欧美喷水| 欧洲肉欲K8播放毛片| CAOPORN最新地址| 秋霞鲁丝片AⅤ无码入口| 被两个男人按住胸吃奶好爽| 日韩AV蜜桃在线观看| 岛国AV在线无码播放| 手在线播放波多野结衣| 国产精华液和欧美的精华液的区别| 婷婷五月六月激情综合色中文字幕 | 女女互磨互喷水高潮LES呻吟| 99久久国产宗和精品1上映| 欧美日韩亚洲国产综合乱| 暗交小拗女一区二区三区| 日韩Av无码一区二区| 国产成人精品一区二区秒拍| 无人区码一码二码三MBA| 国内精品宾馆在线精品酒店| 亚洲国产精品久久久久婷婷软件| 久久WWW免费人成人片| 中国少妇内射XXXXX-百度| 欧美精产国品一二三产品区别 | 放荡大屁股少妇高潮喷水| 日本乱码卡一卡新区入口| 丰满人妻无码使劲张开双腿AV| 天堂影院在线观看高清在线| 国产午夜福利100集发布| 亚洲国产婷婷香蕉久久久久久| 久久精品国产亚洲夜色AV网站| 张柏芝用嘴给陈冠希高潮| 欧美人与动性XXXXX交性| 成人精品动漫一区二区| 无码人妻精品一区二区三区夜夜嗨| 国内精品国产三级国产AV| 野花韩国高清免费神马百度| 差差差无掩盖30分钟79集| 人人妻人人玩人人澡人人爽| 成人每日更新在线不卡| 欧洲人激情毛片无码视频| 高H禁伦餐桌上的肉伦NP| 少妇人妻偷人精品无码视频| 少妇粉嫩小泬喷水视频| 日韩精品无码一区二区三区视频| 日本AⅤ精品一区二区三区久久| 久久精品亚洲日本波多野结衣| XXX片黑人又大又粗又长| 人妻无码中文字幕| 国产一区二区三区不卡在线观看| А√ 天堂 在线官网中文| MD豆传媒一二三区| 亚洲人成人无码WWW影院| 夜夜爽妓女8888视频免费观看 | 无码免费无线观看在线视| 国产美女自卫慰黄网站| 亚洲AⅤ天堂AV天堂无码| 久久综合色天天久久综合图片| 37大但文体艺术A级都市天气 | 免费AV网站在线观看| 各处沟厕大尺度偷拍女厕嘘嘘| 亚洲综合国产成人丁香五月激情| 小雪尝禁果又粗又大的动态视频| 女人18毛片A级毛片嫰阝| 国精产品一二二区视早餐有限| 草莓视频IOS下载| 亚洲另类激情综合偷自拍图片| 日韩人妻在线一区二区三区| 女人下边被添全过视频| 国产午夜精品免费一区二区三区 | 国产精品亚洲专区无码破解版 | 国产精品爽爽VA在线观看无码| 亚洲熟妇无码A∨| 人人人澡人人人妻人人人精品| 狠狠噜天天噜日日噜视频麻豆| BGMBGMBGM老太太XX一| 亚洲天天做日日做天天谢日日欢| 色悠久久久久综合网伊| 男人把女人桶到爽免费应用| 久久精品国产99精品国产2| 非洲BBOOMBBOOM的含义| 99V久久综合狠狠综合久久|