运行时配置

这些函数的行为受 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 条注释

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

memcache.session_redundancy

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

这将通过额外的写入增加轻微的开销,但总体上似乎值得为了故障转移目的而这样做。
To Top