把 PHP 的 Memcached 整理一下,未必適合其他人用。
設定上:
- 平常應該要打開 libketama 相關設定,包含了
OPT_DISTRIBUTION
與OPT_LIBKETAMA_COMPATIBLE
。 - 多台 server 要注意使用 hostname 或是 IP address 連線 (尤其跨程式語言時),在 consistent hash 時會有差異。要避免因為 hostname 發生的問題,可以把這段設定放到 JSON 檔裡與其他程式語言共用。
- 使用
SERIALIZER_JSON
,一樣是為了與其他程式語言相容。
使用上:
add()
在 key 存在時會失敗,set()
則會覆蓋過去。- 在
add()
、set()
裡的 expiration 參數是 UNIX timestamp,而非直覺的秒數... get()
的 callback 不應該使用,因為無法設定 expire time。- memcached 的 manual 有寫預設值是使用冒號 (
:
) 當作 key 的分隔,這對於統計資料會有幫助。
先整理到這...