国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > PHP > 正文

PHP Memcache 詳解與簡單應用

2024-05-04 21:48:52
字體:
來源:轉載
供稿:網友

簡介:memcached是一個高性能的、分布式內存對象緩存系統,通常被用于降低數據庫教程加載壓力以提高動態web應用的響應速度.

此擴展使用了libmemcached庫提供的api與memcached服務端進行交互,它同樣提供了一個session處理器(memcached),它同時提供了一個session處理器.

關于libmemcached的更多信息可以在http://libmemcached.org/libmemcached.html查看.

memcache 需求:

這個擴展需要libmemcached客戶端庫.

memcache 安裝:

安裝此 pecl 擴展相關的信息可在手冊中標題為 pecl 擴展的安裝 章節中找到。另外的信息,如新的發行版本、下載、源文件、 additional information such as new releases,維護人員信息及變更日志等,都在此處:http://pecl.php.net/package/memcached.

如果libmemcached被安裝在一個非標準路徑,使用--with-libmemcached-dir=dir 來指定路徑,dir就是libmemcached安裝時的prefix參數。這個路徑需要包含文件include/libmemcached/memcached.h。

如果要支持壓縮就需要zlib。對于非標準安裝的zlib庫,使用--with-zlib-dir=dir 來指定zlib安裝路徑,dir就是zib安裝時的prefix參數。

session處理器的支持默認是開啟的。如果要關閉它,使用選項--disable-memcached-session 。

預定義常量:

下列常量由此擴展定義,且僅在此擴展編譯入 php 或在運行時動態載入時可用.

memcached::opt_compression

開啟或關閉壓縮功能。當開啟的時候,item的值超過某個閾值(當前是100bytes)時,會首先對值進行壓縮然后存儲,并 在獲取該值時進行解壓縮然后返回,使得壓縮對應用層透明。

類型:boolean,默認:true.

memcached::opt_serializer

指定對于非標量值進行序列化的序列化工具。可用的值有memcached::serializer_php 和memcached::serializer_igbinary。后者僅在memcached配置時開啟 --enable-memcached-igbinary選項并且 igbinary擴展被加載時才有效。

類型: integer, 默認: memcached::serializer_php.

memcached::serializer_php

默認的php序列化工具(即serialize方法).

memcached::serializer_igbinary

» igbinary序列化工具,它將php的數據結構 存儲為緊密的二進制形式,在時間和空間上都有所改進.

memcached::serializer_json

json序列化,需要 php 5.2.10以上。

memcached::opt_prefix_key

可以用于為key創建“域”。這個值將會被作為每個key的前綴,它不能長于128個字符, 并且將會縮短最大可允許的key的長度。這個前綴僅僅用于被存儲的元素的key,而不會用于服務器key。

類型: string, 默認: "".

memcached::opt_hash

指定存儲元素key使用的hash算法。可用的值是memcached::hash_*系列的常量。 每種hash算法都有它的優勢和劣勢,在你不了解或不確定哪種算法對你更有利時,請使用默認值。

類型: integer, 默認: memcached::hash_default

memcached::hash_default

默認的(jenkins one-at-a-time)元素key hash算法

memcached::hash_md5

md5元素key hash算法。

memcached::hash_crc

crc元素key hash算法。

memcached::hash_fnv1_64

fnv1_64元素key hash算法。

memcached::hash_fnv1a_64

fnv1_64a元素key hash算法。

memcached::hash_fnv1_32

fnv1_32元素key hash算法。

memcached::hash_fnv1a_32

fnv1_32a元素key hash算法。

memcached::hash_hsieh

hsieh元素key hash算法。

memcached::hash_murmur

murmur元素key hash算法。

memcached::opt_distribution

指定元素key分布到各個服務器的方法。當前支持的方法有余數分步法合一致性hash算法兩種。一致性hash算法提供 了更好的分配策略并且在添加服務器到集群時可以最小化緩存丟失。

類型: integer, 默認: memcached::distribution_modula.

memcached::distribution_modula

余數分布算法。

memcached::distribution_consistent

一致性分布算法(基于libketama).

memcached::opt_libketama_compatible

開啟或關閉兼容的libketama類行為,當開啟此選項后,元素key的hash算法將會被設置為md5并且分布算法將會 采用帶有權重的一致性hash分布,這一點非常有用因為其他基于libketama的客戶端(比如python,urby)在同樣 的服務端配置下可以透明的訪問key。

note:

如果你要使用一致性hash算法強烈建議開啟此選項,并且這個選項可能在未來的發布版中被設置為默認開啟。

類型: boolean, 默認: false.

memcached::opt_buffer_writes

開啟或關閉i/o緩存。開啟i/o緩存會導致存儲命令不實際發送而是存儲到緩沖區中。任意的檢索數據操作都會導致 緩存中的數據被發送到遠程服務端。退出連接或關閉連接也會導致緩存數據被發送到遠程服務端。

類型: boolean, 默認: false.

memcached::opt_binary_protocol

開啟使用二進制協議。請注意這個選項不能在一個打開的連接上進行切換。

類型: boolean, 默認: false.

memcached::opt_no_block

開啟或關閉異步i/o。這將使得存儲函數傳輸速度最大化。

類型: boolean, 默認:false.

memcached::opt_tcp_nodelay

開啟或關閉已連接socket的無延遲特性(在某些幻境可能會帶來速度上的提升)。

類型:boolean, 默認: false.

memcached::opt_socket_send_size

socket發送緩沖的最大值。

類型: integer, 默認: 根據不同的平臺/內核配置不同

memcached::opt_socket_recv_size

socket接收緩沖的最大值。

類型: integer, 默認: 根據不同的平臺/內核配置不同

memcached::opt_connect_timeout

在非阻塞模式下這里設置的值就是socket連接的超時時間,單位是毫秒。

類型: integer, 默認: 1000.

memcached::opt_retry_timeout

等待失敗的連接重試的時間,單位秒。

類型: integer, 默認: 0.

memcached::opt_send_timeout

socket發送超時時間,單位毫秒,在這種情況下您不能使用非阻塞i/o,這將使得您仍然有數據會發送超時.

類型:integer,默認: 0.

memcached::opt_recv_timeout

socket讀取超時時間,單位毫秒。在這種情況下您不能使用非阻塞i/o,這將使得您仍然有數據會讀取超時。

類型: integer, 默認: 0.

memcached::opt_poll_timeout

poll連接超時時間,單位毫秒。

類型: integer, 默認: 1000.

memcached::opt_cache_lookups

開啟或禁用dns查找緩存。

類型: boolean, 默認: false.

memcached::opt_server_failure_limit

指定一個服務器連接的失敗重試次數限制。在達到此數量的失敗重連后此服務器將被從服務器池中移除。

類型: integer, 默認: 0.

memcached::have_igbinary

指示是否支持igbinary的序列化。

類型: boolean.

memcached::have_json

指示是否支持json的序列化。

類型: boolean.

memcached::get_preserve_order

一個用于memcached::getmulti()和 memcached::getmultibykey()的標記用以確保返回的key和請求的key順序保持一致,不存在的key將會得到一個null值。

memcached::res_success

操作成功.

memcached::res_failure

某種方式的操作失敗。

memcached::res_host_lookup_failure

dns查找失敗。

memcached::res_unknown_read_failure

讀取網絡數據失敗。

memcached::res_protocol_error

錯誤的memcached協議命令。

memcached::res_client_error

客戶端錯誤。

memcached::res_server_error

服務端錯誤。

memcached::res_write_failure

向網絡寫數據失敗。

memcached::res_data_exists

比較并交換值操作失敗(cas方法):嘗試向服務端存儲數據時由于自此連接最后一次取此key對應數據之后被改變導致失敗。

memcached::res_notstored

元素沒有被存儲,但并不是因為一個錯誤。這通常表明add(元素已存在)或replace(元素不存在)方式存儲數據失敗或者元素已經在一個刪除序列中(延時刪除)。

memcached::res_notfound

元素未找到(通過get或cas操作時)。

memcached::res_partial_read

局部網絡數據讀錯誤。

memcached::res_some_errors

在多key獲取的時候發生錯誤。

memcached::res_no_servers

服務器池空。

memcached::res_end

結果集到結尾了。

memcached::res_errno

系統錯誤。

memcached::res_buffered

操作被緩存。

memcached::res_timeout

操作超時。

memcached::res_bad_key_provided

提供了無效的key。

memcached::res_connection_socket_create_failure

創建網絡socket失敗。

memcached::res_payload_failure

不能壓縮/解壓縮或序列化/反序列化值。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 工布江达县| 道孚县| 栖霞市| 天水市| 秭归县| 东阿县| 长岭县| 英山县| 威远县| 突泉县| 屯门区| 神木县| 德化县| 永宁县| 罗源县| 兴化市| 南康市| 汝州市| 盖州市| 文水县| 武平县| 抚远县| 和硕县| 边坝县| 安达市| 滦南县| 淮阳县| 古田县| 台湾省| 金阳县| 和林格尔县| 昆山市| 凌源市| 杂多县| 筠连县| 拉萨市| 新乡县| 怀柔区| 香港 | 祁东县| 宣城市|