介紹
注意事項
因為是php程序之間共享,所以它是單機的快取,多台機器時還是用memcached或者redis更好。但是它可以和redis等形成互補,比如當快取key比較大,使用又頻繁,將快取遷移到yac降低redis的壓力。
yac是無鎖的快取,所以要盡量避免多個程序設定相同key。同時它還意味著有可能獲取cache的時候拿到錯誤的資料,取決於分配了多少金鑰槽和儲存了多少金鑰, 1/10000000(千萬分之一)的概率會發生。
yac使用部分crc校驗,最好重新安排你的快取內容,把最易變的位元組放在頭或尾。
使用限制
key名的長度不能超過48(yac_max_key_len常量),如果key長度超過了,使用md5即可
value值不能超過64m(yac_max_value_raw_len常量)
壓縮後的value值不能超過1m(yac_max_value_compressed_len常量)
相關方法
看github就行了,github.com/laruence/ya…
需要說明的幾點:
1.是可以一次性設定多個key的,但他們的過期時間都是一樣的。
2.沒有獲取key過期時間的方法
3.flush方法,並不會釋放任何資源,只是將所有項標記為無效
info方法返回的值的含義
array
[memory_size] => 71303168
[slots_memory_size] => 4194304
[values_memory_size] => 67108864
[segment_size] => 4194304
[segment_num] => 16
[miss] => 23
[hits] => 90
[fails] => 0
[kicks] => 0
[recycles] => 0
[slots_size] => 32768
[slots_used] => 17
複製**
1.miss代表沒有命中的次數,hits快取命中的次數,slots_size是key slot個數,也就是能存多少key,slots_used是已使用的key slot數,也就是當前key的個數。
2.memory_size:yac總共占用的記憶體,預設68m,slots_memory_size:key槽占用的記憶體預設4m,配置yac.keys_memory_size = 4m,4m有30k的key槽, 32m有100k的key槽,values_memory_size:value值占用的記憶體,配置yac.values_memory_size = 64m,預設64m,單位都是byte。 3.kicks被踢出的次數,recycles記憶體重新分配的次數。
參考
php7 0擴充套件yac,php擴充套件之yac安裝
git轉殖 git clone 解壓安裝 注意這裡的php config可能不一樣 檢視php config位置 編譯安裝 cd yac phpize configure with php config usr bin php config make make install 修改php.ini,載...
PHP擴充套件及PHP7 0安裝
php擴充套件安裝 原始碼安裝的方式 進入到需要安裝的擴充套件 以mbstring為例 cd usr local php 5.4.38 ext mbstring usr local php bin phpize 備註 此處為phpize的真實的位置 configure with php config...
PHP擴充套件及PHP7 0安裝
php擴充套件安裝 原始碼安裝的方式 進入到需要安裝的擴充套件 以mbstring為例 cd usr local php 5.4.38 ext mbstring usr local php bin phpize 備註 此處為phpize的真實的位置 configure with php config...