YAC adalah cache data pengguna memori bersama dan tanpa kunci untuk PHP.
Ini dapat digunakan untuk menggantikan APC atau memcached lokal.
$/path/to/phpize
$./configure --with-php-config=/path/to/php-config
$make && make install
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 ; whether enable yac with cli, default 0
yac.serializer = php ; since yac 2.2.0 , specific seralizer yac used
could be json(--enable-json), msgpack(--enable-msgpack) or igbinary(--enable-igbinary)
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
Yac:: __construct ([string $ prefix = "" ])Konstruktor YAC, Anda dapat menentukan awalan yang akan digunakan untuk menyiapkan tombol apa pun saat melakukan set/get/hapus
<?php
$ yac = new Yac ( " myproduct_ " );
?> Yac:: set ( $ key , $ value [, $ ttl = 0 ])
Yac:: set (array $ kvs [, $ ttl = 0 ])Simpan nilai ke dalam cache YAC, kunci adalah cache-unik, jadi menyimpan nilai kedua dengan kunci yang sama akan menimpa nilai aslinya.
Return true on Success, kembalikan false on error (seperti tidak ada memori, tidak bisa mendapatkan cas write benar)
<?php
$ yac = new Yac ();
$ yac -> set ( " foo " , " bar " );
$ yac -> set (
array (
" dummy " => " foo " ,
" dummy2 " => " foo " ,
)
);
?> Sebagai YAC 2.1, toko mungkin gagal jika kompetisi CAS gagal, Anda mungkin perlu melakukan:
while (!( $ yac -> set ( " important " , " value " )));Jika Anda membutuhkan nilai untuk disimpan dengan benar.
Yac::get(array|string $key[, &$cas = NULL])
Mengambil variabel yang disimpan dari cache. Jika array dilewatkan maka setiap elemen diambil dan dikembalikan.
Kembalikan nilai pada kesuksesan, kembalikan kesalahan pada kesalahan (seperti tidak ada memori, tidak bisa mendapatkan cas write dengan benar)
<?php
$ yac = new Yac ();
$ yac -> set ( " foo " , " bar " );
$ yac -> set (
array (
" dummy " => " foo " ,
" dummy2 " => " foo " ,
)
);
$ yac -> get ( " dummy " );
$ yac -> get ( array ( " dummy " , " dummy2 " ));
?> Yac::delete(array|string $keys[, $delay=0])
Menghapus variabel yang disimpan dari cache. Jika penundaan ditentukan, maka nilainya akan dihapus setelah $ detik tunda.
Yac::flush()
Segera membatalkan semua item yang ada. Ini sebenarnya tidak membebaskan sumber daya apa pun, itu hanya menandai semua item sebagai tidak valid.
Yac::info(void)
Dapatkan info cache
<?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 )
}
*/