2024 年 PHP 日本研討會

執行時期設定

這些函式的行為會受到 php.ini 中設定的影響。

Memcache 設定選項
名稱 預設值 可修改性 更新日誌
memcache.allow_failover "1" INI_ALL 自 memcache 2.0.2 版起可用。
memcache.max_failover_attempts "20" INI_ALL 自 memcache 2.1.0 版起可用。
memcache.chunk_size "8192" INI_ALL 自 memcache 2.0.2 版起可用。
memcache.default_port "11211" INI_ALL 自 memcache 2.0.2 版起可用。
memcache.hash_strategy "standard" INI_ALL 自 memcache 2.2.0 版起可用。
memcache.hash_function "crc32" INI_ALL 自 memcache 2.2.0 版起可用。
memcache.protocol ascii INI_ALL memcache 3.0.0 版起支援
memcache.redundancy 1 INI_ALL memcache 3.0.0 版起支援
memcache.session_redundancy 2 INI_ALL memcache 3.0.0 版起支援
memcache.compress_threshold 20000 INI_ALL memcache 3.0.3 版本起支援
memcache.lock_timeout 15 INI_ALL memcache 3.0.4 版本起支援
影響 Memcache 行為的 Session 設定選項
名稱 預設值 可修改性 更新日誌
session.save_handler "files" INI_ALL memcache 2.1.2 版本起支援
session.save_path "" INI_ALL memcache 2.1.2 版本起支援
關於 INI_* 模式更進一步的細節和定義,請參考 設定設定值的可能位置

以下是設定指令的簡短說明。

memcache.allow_failover 布林值

是否在發生錯誤時透明地切換到其他伺服器。

memcache.max_failover_attempts 整數

定義在設定和取得資料時嘗試多少個伺服器。僅與 memcache.allow_failover 搭配使用。

memcache.chunk_size 整數

資料將以這個大小的區塊傳輸,設定較低的值需要更多網路寫入。如果發現不明原因的效能降低,請嘗試將此值增加到 32768。

memcache.default_port 字串

連線到 memcached 伺服器時,如果沒有指定其他連接埠,將使用的預設 TCP 連接埠號。

memcache.hash_strategy 字串

控制將鍵值映射到伺服器時使用的策略。將此值設定為 consistent 以啟用一致性雜湊,允許在不重新映射鍵值的情況下新增或移除伺服器池中的伺服器。將此值設定為 standard 將使用舊的策略。

memcache.hash_function 字串

控制將鍵值映射到伺服器時套用的雜湊函數,crc32 使用標準 CRC32 雜湊,而 fnv 使用 FNV-1a。

memcache.protocol 字串

memcache.redundancy 整數

memcache.session_redundancy 整數

memcache.compress_threshold 整數

memcache.lock_timeout 整數

session.save_handler 字串

將此值設定為 memcache 以使用 memcache 作為 session 處理程式。

session.save_path 字串

定義以逗號分隔的伺服器網址列表,用於 session 儲存,例如 "tcp://host1:11211, tcp://host2:11211"

每個網址都可能包含套用於該伺服器的參數,這些參數與 Memcache::addServer() 方法的參數相同。例如 "tcp://host1:11211?persistent=1&weight=1&timeout=1&retry_interval=15"

新增筆記

使用者貢獻的筆記 1 則筆記

kross at escapistmag dot com
14 年前
目前有一個未記錄的變數可用於 session 處理(您可以在 php_info() 中看到它)

memcache.session_redundancy

預設值似乎是「2」,它應該會影響 Memcache 為故障轉移目的儲存特定 session 物件的副本數量(因此,如果備援設定為 2,它將在 2 個不同的分片上儲存 session)。

這會因為額外的寫入操作而增加一些額外負擔,但總體而言,為了故障轉移的目的,這似乎是值得的。
To Top