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.save_handler "files" INI_ALL 自 memcache 2.1.2 起支持
session.save_path "" INI_ALL 自 memcache 2.1.2 起支持
有关 INI_* 模式的更多详细信息和定义,请参见配置设置的位置

以下是配置指令的简短说明。

memcache.allow_failover bool

是否在发生错误时透明地故障转移到其他服务器。

memcache.max_failover_attempts int

定义设置和获取数据时尝试的服务器数量。仅与 memcache.allow_failover 结合使用。

memcache.chunk_size int

数据将以此大小的块进行传输,设置较低的值需要更多网络写入。如果注意到其他无法解释的减速,请尝试将此值增加到 32768。

memcache.default_port string

如果未指定其他端口,则连接到 memcached 服务器时使用的默认 TCP 端口号。

memcache.hash_strategy string

控制将键映射到服务器时使用的策略。将此值设置为consistent以启用一致哈希,这允许向池中添加或从中删除服务器,而不会导致键重新映射。将此值设置为standard将导致使用旧策略。

memcache.hash_function string

控制将键映射到服务器时应用的哈希函数,crc32使用标准 CRC32 哈希,而fnv使用 FNV-1a。

memcache.protocol string

memcache.redundancy int

memcache.session_redundancy int

memcache.compress_threshold int

memcache.lock_timeout int

session.save_handler string

通过将此值设置为memcache来使用 memcache 作为会话处理程序。

session.save_path string

定义用于会话存储的服务器 url 的逗号分隔列表,例如"tcp://host1:11211, tcp://host2:11211"

每个 url 都可能包含应用于该服务器的参数,它们与Memcache::addServer()方法的参数相同。例如"tcp://host1:11211?persistent=1&weight=1&timeout=1&retry_interval=15"

添加注释

用户贡献的注释 1 个注释

-3
kross at escapistmag dot com
14 年前
现在有一个目前未记录的变量可用(您可以在 php_info() 中看到它)用于会话处理

memcache.session_redundancy

默认值似乎为“2”,它应该影响 Memcache 为故障转移目的而存储的特定会话对象的副本数量(因此,冗余度为 2,它将在 2 个不同的分片上存储会话)。

这将增加额外的写入开销,但总的来说对于故障转移目的来说似乎是值得的。
To Top