diff --git a/reference/yac/book.xml b/reference/yac/book.xml
new file mode 100644
index 0000000000..209e0f19f2
--- /dev/null
+++ b/reference/yac/book.xml
@@ -0,0 +1,41 @@
+
+
+
+
+ Yac
+ Yac
+
+
+ &reftitle.intro;
+
+ Yac (Yet Another cache), is a lock-free, shared memory user data cache, could be used to replace APC, local memcache.
+
+
+
+ &reference.yac.setup;
+ &reference.yac.constants;
+
+ &reference.yac.reference;
+
+
+
+
diff --git a/reference/yac/configure.xml b/reference/yac/configure.xml
new file mode 100644
index 0000000000..d003246fda
--- /dev/null
+++ b/reference/yac/configure.xml
@@ -0,0 +1,35 @@
+
+
+
+
+ &reftitle.install;
+
+
+ &pecl.info;
+ &url.pecl.package;yac
+
+
+
+
+
+
+
diff --git a/reference/yac/constants.xml b/reference/yac/constants.xml
new file mode 100644
index 0000000000..dfe61b133b
--- /dev/null
+++ b/reference/yac/constants.xml
@@ -0,0 +1,128 @@
+
+
+
+
+ &reftitle.constants;
+ &extension.constants;
+
+
+
+
+ YAC_VERSION
+ (string)
+
+
+
+
+
+
+
+
+ YAC_MAX_KEY_LEN
+ (integer)
+
+
+
+ Max length of a key could be, it is 48 bytes.
+
+
+
+
+
+ YAC_MAX_VALUE_RAW_LEN
+ (integer)
+
+
+
+
+
+
+
+
+ YAC_MAX_RAW_COMPRESSED_LEN
+ (integer)
+
+
+
+
+
+
+
+
+ YAC_SERIALIZER_PHP
+ (integer)
+
+
+
+ Use php serialize as serializer
+
+
+
+
+
+ YAC_SERIALIZER_JSON
+ (integer)
+
+
+
+ Use json as serializer(requrie --enable-json)
+
+
+
+
+
+ YAC_SERIALIZER_IGBINARY
+ (integer)
+
+
+
+ Use igbinary as serializer(require --enable-igbinary)
+
+
+
+
+
+ YAC_SERIALIZER_MSGPACK
+ (integer)
+
+
+
+ Use msgpack as serializer(require --enable-msgpack)
+
+
+
+
+
+ YAC_SERIALIZER
+ (string)
+
+
+
+ Which serialzier is yac used
+
+
+
+
+
+
+
+
diff --git a/reference/yac/entities.yac.xml b/reference/yac/entities.yac.xml
new file mode 100644
index 0000000000..901ad16847
--- /dev/null
+++ b/reference/yac/entities.yac.xml
@@ -0,0 +1,8 @@
+&reference.yac.yac.add;
+&reference.yac.yac.construct;
+&reference.yac.yac.delete;
+&reference.yac.yac.dump;
+&reference.yac.yac.flush;
+&reference.yac.yac.get;
+&reference.yac.yac.info;
+&reference.yac.yac.set;
diff --git a/reference/yac/ini.xml b/reference/yac/ini.xml
new file mode 100644
index 0000000000..fa575f3bba
--- /dev/null
+++ b/reference/yac/ini.xml
@@ -0,0 +1,172 @@
+
+
+
+
+ &reftitle.runtime;
+ &extension.runtime;
+
+
+ Yac &ConfigureOptions;
+
+
+
+ &Name;
+ &Default;
+ &Changeable;
+ &Changelog;
+
+
+
+
+ yac.compress_threshold
+ -1
+ PHP_INI_SYSTEM
+
+
+
+ yac.debug
+ 0
+ PHP_INI_ALL
+
+
+
+ yac.enable
+ 1
+ PHP_INI_SYSTEM
+
+
+
+ yac.enable_cli
+ 0
+ PHP_INI_SYSTEM
+
+
+
+ yac.keys_memory_size
+ 4M
+ PHP_INI_SYSTEM
+
+
+
+ yac.serializer
+ php
+ PHP_INI_SYSTEM
+
+
+
+ yac.values_memory_size
+ 64M
+ PHP_INI_SYSTEM
+
+
+
+
+
+
+
+ &ini.descriptions.title;
+
+
+
+
+
+ yac.compress_threshold
+ integer
+
+
+
+
+
+
+
+
+
+ yac.debug
+ integer
+
+
+
+
+
+
+
+
+
+ yac.enable
+ integer
+
+
+
+
+
+
+
+
+
+ yac.enable_cli
+ integer
+
+
+
+
+
+
+
+
+
+ yac.keys_memory_size
+ string
+
+
+
+
+
+
+
+
+
+ yac.serializer
+ string
+
+
+
+
+
+
+
+
+
+ yac.values_memory_size
+ string
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/reference/yac/reference.xml b/reference/yac/reference.xml
new file mode 100644
index 0000000000..985f8b46d4
--- /dev/null
+++ b/reference/yac/reference.xml
@@ -0,0 +1,30 @@
+
+
+
+
+ Yac &Functions;
+
+
+
+
+
+
diff --git a/reference/yac/setup.xml b/reference/yac/setup.xml
new file mode 100644
index 0000000000..8d165b367c
--- /dev/null
+++ b/reference/yac/setup.xml
@@ -0,0 +1,52 @@
+
+
+
+
+ &reftitle.setup;
+
+
+ &reftitle.required;
+
+
+
+
+
+
+ &reftitle.install;
+ &no.install;
+
+
+
+ &reftitle.runtime;
+ &no.config;
+
+
+
+ &reftitle.resources;
+
+
+
+
+
+
+
+
diff --git a/reference/yac/versions.xml b/reference/yac/versions.xml
new file mode 100644
index 0000000000..d12acb2b6f
--- /dev/null
+++ b/reference/yac/versions.xml
@@ -0,0 +1,42 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/reference/yac/yac.xml b/reference/yac/yac.xml
new file mode 100644
index 0000000000..d82453bba4
--- /dev/null
+++ b/reference/yac/yac.xml
@@ -0,0 +1,89 @@
+
+
+
+
+
+ The Yac class
+ Yac
+
+
+
+
+
+ &reftitle.intro;
+
+
+
+
+
+
+
+ &reftitle.classsynopsis;
+
+
+
+ Yac
+
+
+
+
+ Yac
+
+
+
+ &Properties;
+
+ protected
+ _prefix
+
+
+
+ &Methods;
+
+
+
+
+
+
+
+
+
+ &reftitle.properties;
+
+
+ _prefix
+
+
+
+
+
+
+
+
+
+
+
+ &reference.yac.entities.yac;
+
+
+
+
diff --git a/reference/yac/yac/add.xml b/reference/yac/yac/add.xml
new file mode 100644
index 0000000000..4f7d3a98ee
--- /dev/null
+++ b/reference/yac/yac/add.xml
@@ -0,0 +1,86 @@
+
+
+
+
+
+ Yac::add
+ Store into cache
+
+
+
+ &reftitle.description;
+
+ public boolYac::add
+ stringkeys
+ mixedvalue
+ intttl
+
+
+ public boolYac::add
+ arraykey_vals
+
+
+ Added a item into cache
+
+
+
+
+ &reftitle.parameters;
+
+
+ keys
+
+
+ string key
+
+
+
+
+ value
+
+
+ mixed value, All php value type could be stored except IS_RESOURCE
+
+
+
+
+ ttl
+
+
+ expire time
+
+
+
+
+
+
+
+ &reftitle.returnvalues;
+
+ bool, true on success, false on failure
+
+
+
+
+
+
+
diff --git a/reference/yac/yac/construct.xml b/reference/yac/yac/construct.xml
new file mode 100644
index 0000000000..2470560e03
--- /dev/null
+++ b/reference/yac/yac/construct.xml
@@ -0,0 +1,72 @@
+
+
+
+
+
+ Yac::__construct
+ Description
+
+
+
+ &reftitle.description;
+
+ public Yac::__construct
+ stringprefix
+
+
+
+
+
+ &warn.undocumented.func;
+
+
+
+
+ &reftitle.parameters;
+
+
+ prefix
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/reference/yac/yac/delete.xml b/reference/yac/yac/delete.xml
new file mode 100644
index 0000000000..17cdc6da37
--- /dev/null
+++ b/reference/yac/yac/delete.xml
@@ -0,0 +1,76 @@
+
+
+
+
+
+ Yac::delete
+ Description
+
+
+
+ &reftitle.description;
+
+ public ReturnTypeYac::delete
+ stringkeys
+ stringttl
+
+
+
+
+
+ &warn.undocumented.func;
+
+
+
+
+ &reftitle.parameters;
+
+
+ keys
+
+
+
+
+
+
+
+ ttl
+
+
+
+
+
+
+
+
+
+
+ &reftitle.returnvalues;
+
+
+
+
+
+
+
+
+
diff --git a/reference/yac/yac/dump.xml b/reference/yac/yac/dump.xml
new file mode 100644
index 0000000000..b49e265ebd
--- /dev/null
+++ b/reference/yac/yac/dump.xml
@@ -0,0 +1,64 @@
+
+
+
+
+
+ Yac::dump
+ Dump cache
+
+
+
+ &reftitle.description;
+
+ public mixedYac::dump
+ int$num
+
+
+ Dump values stored in cache
+
+
+
+
+ &reftitle.parameters;
+
+
+ num
+
+
+ Maximum number of items should be returned
+
+
+
+
+
+
+
+ &reftitle.returnvalues;
+
+ mixed
+
+
+
+
+
+
+
diff --git a/reference/yac/yac/flush.xml b/reference/yac/yac/flush.xml
new file mode 100644
index 0000000000..cfb67a0c39
--- /dev/null
+++ b/reference/yac/yac/flush.xml
@@ -0,0 +1,55 @@
+
+
+
+
+
+ Yac::flush
+ Flush the cache
+
+
+
+ &reftitle.description;
+
+ public boolYac::flush
+
+
+
+ Remove all cached values
+
+
+
+
+ &reftitle.parameters;
+ &no.function.parameters;
+
+
+
+ &reftitle.returnvalues;
+
+ bool, always true
+
+
+
+
+
+
+
diff --git a/reference/yac/yac/get.xml b/reference/yac/yac/get.xml
new file mode 100644
index 0000000000..4b2cbb33b0
--- /dev/null
+++ b/reference/yac/yac/get.xml
@@ -0,0 +1,64 @@
+
+
+
+
+
+ Yac::__get
+ Retrieve values from cache
+
+
+
+ &reftitle.description;
+
+ public mixedYac::__get
+ string|arraykey
+
+
+ Retrieve values from cache
+
+
+
+
+ &reftitle.parameters;
+
+
+ key
+
+
+ string keys, or array of multiple keys
+
+
+
+
+
+
+
+ &reftitle.returnvalues;
+
+ mixed on success, false on failure
+
+
+
+
+
+
+
diff --git a/reference/yac/yac/info.xml b/reference/yac/yac/info.xml
new file mode 100644
index 0000000000..d6e4491e7d
--- /dev/null
+++ b/reference/yac/yac/info.xml
@@ -0,0 +1,57 @@
+
+
+
+
+
+ Yac::info
+ Status of cache
+
+
+
+ &reftitle.description;
+
+ public ReturnTypeYac::info
+
+
+
+ Get status of cache system
+
+
+
+
+ &reftitle.parameters;
+ &no.function.parameters;
+
+
+
+ &reftitle.returnvalues;
+
+ Return an array, consistent with:
+ "memory_size", "slots_memory_size", "values_memory_size", "segment_size", "segment_num",
+ "miss", "hits", "fails", "kicks", "recycles", "slots_size", "slots_used"
+
+
+
+
+
+
+
diff --git a/reference/yac/yac/set.xml b/reference/yac/yac/set.xml
new file mode 100644
index 0000000000..8bebd4edd2
--- /dev/null
+++ b/reference/yac/yac/set.xml
@@ -0,0 +1,86 @@
+
+
+
+
+
+ Yac::__set
+ Store into cache
+
+
+
+ &reftitle.description;
+
+ public boolYac::add
+ stringkeys
+ mixedvalue
+ intttl
+
+
+ public boolYac::add
+ arraykey_vals
+
+
+ Add a item into cache, it the key is already exists, override it.
+
+
+
+
+ &reftitle.parameters;
+
+
+ keys
+
+
+ string key
+
+
+
+
+ value
+
+
+ mixed value, All php value type could be stored except IS_RESOURCE
+
+
+
+
+ ttl
+
+
+ expire time
+
+
+
+
+
+
+
+ &reftitle.returnvalues;
+
+ bool, true on success, false on failure
+
+
+
+
+
+
+