麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 語言 > PHP > 正文

PHP Memcached 詳解與簡單應用

2024-09-04 11:50:23
字體:
來源:轉載
供稿:網友

簡介:

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
指定對于非標量值進行序列化的序列化工具??捎玫闹涤衜emcached::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
不能壓縮/解壓縮或序列化/反序列化值。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 黄色高清av | 超污视频在线看 | 黄色一级片免费观看 | 第四色成人网 | 亚洲第五色综合网 | 亚洲日本欧美 | 国毛片 | 日日噜噜噜夜夜狠狠久久蜜桃 | 国产精品久久99精品毛片三a | 欧美另类视频在线 | 久久国产精品久久久久久久久久 | 视频在线中文字幕 | 一边吃奶一边摸下娇喘 | 一区二区久久久久草草 | 国产精品久久久久网站 | 91久久久久久久一区二区 | 中文字幕综合在线观看 | 免费黄色小网站 | 国产精品av久久久久久网址 | 免费一级欧美在线观看视频 | 日本在线免费观看 | 男女无遮挡羞羞视频 | 三人弄娇妻高潮3p视频 | 超碰97人人艹 | 桥本有菜免费av一区二区三区 | 特级毛片a级毛片100免费 | 黄视频免费观看 | 欧美淫交 | 国产精品久久久久久久久久大牛 | 国产高潮好爽好大受不了了 | 欧美成在线视频 | 182tv成人福利视频免费看 | 宅男视频在线观看免费 | 毛片成人网 | 国产精品18久久久久久久久 | 精品久久久久久久久久久久久 | 日韩毛片一区二区三区 | 国产www免费 | chengrenzaixian | 欧美成人一区二区三区 | 精品一区二区在线观看视频 |