CakePHP
  • 文档
    • 书籍
    • API
    • 视频
    • 报告安全问题
    • 隐私政策
    • 标识和商标
  • 商业解决方案
  • 周边商品
  • 公路旅行
  • 团队
  • 社区
    • 社区
    • 参与进来
    • 问题 (Github)
    • 烘焙坊
    • 精选资源
    • 培训
    • 聚会
    • 我的 CakePHP
    • CakeFest
    • 新闻通讯
    • Linkedin
    • YouTube
    • Facebook
    • Twitter
    • Mastodon
    • 帮助和支持
    • 论坛
    • Stack Overflow
    • IRC
    • Slack
    • 付费支持
CakePHP

C CakePHP 5.1 Chiffon API

  • 项目
    • CakePHP
      • CakePHP
      • Chronos
      • Elastic Search
      • 队列
  • 版本
    • 5.1
      • 5.1
      • 5.0
      • 4.5
      • 4.4
      • 4.3
      • 4.2
      • 4.1
      • 4.0
      • 3.10
      • 3.9
      • 3.8
      • 3.7
      • 3.6
      • 3.5
      • 3.4
      • 3.3
      • 3.2
      • 3.1
      • 3.0
      • 2.10
      • 2.9
      • 2.8
      • 2.7
      • 2.6
      • 2.5
      • 2.4
      • 2.3
      • 2.2
      • 2.1
      • 2.0
      • 1.3
      • 1.2

命名空间

  • 全局
  • Cake
    • Cache
      • Engine
      • Exception
    • Collection
    • Command
    • Console
    • Controller
    • Core
    • Database
    • Datasource
    • Error
    • Event
    • Form
    • Http
    • I18n
    • Log
    • Mailer
    • Network
    • ORM
    • Routing
    • TestSuite
    • Utility
    • Validation
    • View

RedisEngine 类

Redis 缓存引擎。

命名空间: Cake\Cache\Engine

常量

  • 字符串
    CHECK_KEY ¶
    'key'
  • 字符串
    CHECK_VALUE ¶
    'value'

属性摘要

  • $_Redis 受保护的
    Redis

    Redis 包装器。

  • $_config 受保护的
    array<string, mixed>

    运行时配置

  • $_configInitialized 受保护的
    布尔值

    配置属性是否已使用默认值进行配置

  • $_defaultConfig 受保护的
    array<string, mixed>

    除非由运行时配置覆盖,否则使用的默认配置

  • $_groupPrefix 受保护的
    字符串

    包含所有组前缀的编译字符串,这些前缀将被附加到此缓存引擎中的每个键

方法摘要

  • __destruct() 公开的

    断开与 Redis 服务器的连接

  • _configDelete() 受保护的

    删除单个配置键。

  • _configRead() 受保护的

    读取配置键。

  • _configWrite() 受保护的

    写入配置键。

  • _connect() 受保护的

    连接到 Redis 服务器

  • _connectPersistent() 受保护的

    使用持久连接连接到 Redis 服务器。

  • _connectTransient() 受保护的

    使用新连接连接到 Redis 服务器。

  • _createRedisInstance() 受保护的

    创建新的 Redis 实例。

  • _key() 受保护的

    生成缓存后端使用的键。

  • add() 公开的

    如果键不存在,则将键的数据写入缓存。如果键已存在,则失败并返回 false。

  • clear() 公开的

    删除缓存中的所有键

  • clearBlocking() 公开的

    通过阻塞操作从缓存中删除所有键

  • clearGroup() 公开的

    增加组值以模拟删除组下所有键,旧值将保留在存储中,直到它们过期。

  • configShallow() 公开的

    将提供的配置与现有配置合并。与config()不同,config()对嵌套键进行递归合并,此方法进行简单合并。

  • decrement() 公开的

    减少缓存整数键的值并更新过期时间

  • delete() 公开的

    从缓存中删除一个键

  • deleteAsync() 公开的

    异步从缓存中删除一个键

  • deleteMultiple() 公开的

    作为列表删除多个缓存项

  • duration() 受保护的

    将 TTL 值的各种表达式转换为以秒为单位的持续时间

  • ensureValidKey() 受保护的

    确保给定缓存键的有效性。

  • ensureValidType() 受保护的

    确保参数类型和缓存键的有效性。

  • get() 公开的

    从缓存中读取一个键

  • getConfig() 公开的

    返回配置。

  • getConfigOrFail() 公开的

    返回此特定键的配置。

  • getMultiple() 公开的

    通过其唯一键获取多个缓存项。

  • groups() 公开的

    返回每个已配置组的组值如果未找到组初始值,则会相应地初始化该组。

  • has() 公开的

    确定缓存中是否存在项目。

  • increment() 公开的

    增加缓存整数键的值并更新过期时间

  • init() 公开的

    初始化缓存引擎

  • serialize() 受保护的

    序列化要保存到 Redis 的值。

  • set() 公开的

    将键的数据写入缓存。

  • setConfig() 公开的

    设置配置。

  • setMultiple() 公开的

    在缓存中持久化一组键 => 值对,并带有可选的 TTL。

  • unserialize() 受保护的

    反序列化从 Redis 获取的字符串值。

  • warning() 受保护的

    如果在操作期间遇到故障,缓存引擎可能会触发警告,如果 option warnOnWriteFailures 设置为 true。

方法详细信息

__destruct() ¶ 公开的

__destruct()

断开与 Redis 服务器的连接

_configDelete() ¶ 受保护的

_configDelete(string $key): void

删除单个配置键。

参数
字符串 $key

要删除的键。

返回
空
抛出
Cake\Core\Exception\CakeException
如果尝试覆盖现有配置

_configRead() ¶ 受保护的

_configRead(string|null $key): mixed

读取配置键。

参数
字符串|null $key

要读取的键。

返回
混合

_configWrite() ¶ 受保护的

_configWrite(array<string, mixed>|string $key, mixed $value, string|bool $merge = false): void

写入配置键。

参数
array<string, mixed>|string $key

要写入的键。

混合 $value

要写入的值。

字符串|布尔值 $merge 可选

True 表示递归合并,'shallow' 表示简单合并,false 表示覆盖,默认为 false。

返回
空
抛出
Cake\Core\Exception\CakeException
如果尝试覆盖现有配置

_connect() ¶ 受保护的

_connect(): bool

连接到 Redis 服务器

返回
布尔值

_connectPersistent() ¶ 受保护的

_connectPersistent(string $server, array $ssl): bool

使用持久连接连接到 Redis 服务器。

参数
字符串 $server

要连接的服务器。

数组 $ssl

SSL 上下文选项。

返回
布尔值
抛出
RedisException

_connectTransient() ¶ protected

_connectTransient(string $server, array $ssl): bool

使用新连接连接到 Redis 服务器。

参数
字符串 $server

要连接的服务器。

数组 $ssl

SSL 上下文选项。

返回
布尔值
抛出
RedisException

_createRedisInstance() ¶ protected

_createRedisInstance(): Redis

创建新的 Redis 实例。

返回
Redis

_key() ¶ protected

_key(string $key): string

生成缓存后端使用的键。

如果请求的键有效,则应用组前缀值和引擎前缀。键中的空格将被替换。

参数
字符串 $key

传递的键

返回
字符串
抛出
Cake\Cache\Exception\InvalidArgumentException
如果键的值无效。

add() ¶ public

add(string $key, mixed $value): bool

如果键不存在,则将键的数据写入缓存。如果键已存在,则失败并返回 false。

默认为非原子实现。子类应优先使用原子实现。

参数
字符串 $key

数据的标识符。

混合 $value

要缓存的数据。

返回
布尔值
链接
https://github.com/phpredis/phpredis#set

clear() ¶ public

clear(): bool

删除缓存中的所有键

返回
布尔值

clearBlocking() ¶ public

clearBlocking(): bool

通过阻塞操作从缓存中删除所有键

比使用 unlink 方法的 clear() 更快。

返回
布尔值

clearGroup() ¶ public

clearGroup(string $group): bool

增加组值以模拟删除组下所有键,旧值将保留在存储中,直到它们过期。

每个实现都需要决定是实际删除键还是仅仅增加组生成值来达到相同的结果。

参数
string $group

要清除的组的名称

返回
布尔值

configShallow() ¶ public

configShallow(array<string, mixed>|string $key, mixed|null $value = null): $this

将提供的配置与现有配置合并。与config()不同,config()对嵌套键进行递归合并,此方法进行简单合并。

设置特定值

$this->configShallow('key', $value);

设置嵌套值

$this->configShallow('some.nested.key', $value);

同时更新多个配置设置

$this->configShallow(['one' => 'value', 'another' => 'value']);
参数
array<string, mixed>|string $key

要设置的键,或完整配置数组。

mixed|null $value optional

要设置的值。

返回
$this

decrement() ¶ public

decrement(string $key, int $offset = 1): int|false

减少缓存整数键的值并更新过期时间

参数
字符串 $key

数据的标识符

int $offset optional

减去多少

返回
int|false

delete() ¶ public

delete(string $key): bool

从缓存中删除一个键

参数
字符串 $key

数据的标识符

返回
布尔值

deleteAsync() ¶ public

deleteAsync(string $key): bool

异步从缓存中删除一个键

只从缓存中解除键链接。实际删除将在稍后异步进行。

参数
字符串 $key

数据的标识符

返回
布尔值

deleteMultiple() ¶ public

deleteMultiple(iterable<string> $keys): bool

作为列表删除多个缓存项

这是尽力而为的尝试。如果删除项目会产生错误,它将被忽略,所有项目都将被尝试。

参数
iterable<string> $keys

要删除的基于字符串的键列表。

返回
布尔值
抛出
Cake\Cache\Exception\InvalidArgumentException
如果 $keys 不是数组也不是 Traversable,或者如果任何 $keys 不是合法值。

duration() ¶ protected

duration(DateInterval|int|null $ttl): int

将 TTL 值的各种表达式转换为以秒为单位的持续时间

参数
DateInterval|int|null $ttl

此项目的 TTL 值。如果发送 null,将使用驱动程序的默认持续时间。

返回
int

ensureValidKey() ¶ protected

ensureValidKey(mixed $key): void

确保给定缓存键的有效性。

参数
mixed $key

要检查的键。

返回
空
抛出
Cake\Cache\Exception\InvalidArgumentException
当键无效时。

ensureValidType() ¶ protected

ensureValidType(iterable $iterable, string $check = self::CHECK_VALUE): void

确保参数类型和缓存键的有效性。

参数
iterable $iterable

要检查的迭代器。

string $check optional

是否检查键或值。

返回
空
抛出
Cake\Cache\Exception\InvalidArgumentException

get() ¶ public

get(string $key, mixed $default = null): mixed

从缓存中读取一个键

参数
字符串 $key

数据的标识符

mixed $default optional

如果键不存在,则返回的默认值。

返回
混合

getConfig() ¶ public

getConfig(string|null $key = null, mixed $default = null): mixed

返回配置。

用法

读取整个配置

$this->getConfig();

读取特定值

$this->getConfig('key');

读取嵌套值

$this->getConfig('some.nested.key');

使用默认值读取

$this->getConfig('some-key', 'default-value');
参数
string|null $key optional

要获取的键,或整个配置的 null。

mixed $default optional

当键不存在时的返回值。

返回
混合

getConfigOrFail() ¶ public

getConfigOrFail(string $key): mixed

返回此特定键的配置。

此键的配置值必须存在,它永远不能为 null。

参数
字符串 $key

要获取的键。

返回
混合
抛出
InvalidArgumentException

getMultiple() ¶ public

getMultiple(iterable<string> $keys, mixed $default = null): iterable<string, mixed>

通过其唯一键获取多个缓存项。

参数
iterable<string> $keys

可以通过单个操作获取的键列表。

mixed $default optional

对于不存在的键返回的默认值。

返回
iterable<string, mixed>
抛出
Cake\Cache\Exception\InvalidArgumentException
如果 $keys 不是数组也不是 Traversable,或者如果任何 $keys 不是合法值。

groups() ¶ public

groups(): list<string>

返回每个已配置组的组值如果未找到组初始值,则会相应地初始化该组。

返回
list<string>

has() ¶ public

has(string $key): bool

确定缓存中是否存在项目。

注意:建议仅将 has() 用于缓存预热类型目的,不要在您的实时应用程序操作中使用它来获取/设置,因为此方法容易出现竞争条件,您的 has() 会返回 true,并且立即之后,另一个脚本可以删除它,使您的应用程序状态过时。

参数
字符串 $key

缓存项键。

返回
布尔值
抛出
Cake\Cache\Exception\InvalidArgumentException
如果 $key 字符串不是合法值。

increment() ¶ public

increment(string $key, int $offset = 1): int|false

增加缓存整数键的值并更新过期时间

参数
字符串 $key

数据的标识符

int $offset optional

增加多少

返回
int|false

init() ¶ public

init(array<string, mixed> $config = []): bool

初始化缓存引擎

由缓存前端自动调用

参数
array<string, mixed> $config optional

引擎设置数组

返回
布尔值

serialize() ¶ protected

serialize(mixed $value): string

序列化要保存到 Redis 的值。

这是必需的,而不是使用 Redis 的内置序列化功能,因为它会导致最初设置的整数值增加/减少时出现问题。

参数
混合 $value

要序列化的值。

返回
字符串
链接
https://github.com/phpredis/phpredis/issues/81

set() ¶ public

set(string $key, mixed $value, DateInterval|int|null $ttl = null): bool

将键的数据写入缓存。

参数
字符串 $key

数据的标识符

混合 $value

要缓存的数据

DateInterval|int|null $ttl optional

可选。此项目的 TTL 值。如果未发送任何值,并且驱动程序支持 TTL,则库可能会为其设置默认值,或者让驱动程序处理它。

返回
布尔值

setConfig() ¶ public

setConfig(array<string, mixed>|string $key, mixed|null $value = null, bool $merge = true): $this

设置配置。

用法

设置特定值

$this->setConfig('key', $value);

设置嵌套值

$this->setConfig('some.nested.key', $value);

同时更新多个配置设置

$this->setConfig(['one' => 'value', 'another' => 'value']);
参数
array<string, mixed>|string $key

要设置的键,或完整配置数组。

mixed|null $value optional

要设置的值。

bool $merge optional

是否递归合并或覆盖现有配置,默认为 true。

返回
$this
抛出
Cake\Core\Exception\CakeException
当尝试设置无效的键时。

setMultiple() ¶ public

setMultiple(iterable $values, DateInterval|int|null $ttl = null): bool

在缓存中持久化一组键 => 值对,并带有可选的 TTL。

参数
iterable $values

用于多重设置操作的键 => 值对列表。

DateInterval|int|null $ttl optional

可选。此项目的 TTL 值。如果未发送任何值,并且驱动程序支持 TTL,则库可能会为其设置默认值,或者让驱动程序处理它。

返回
布尔值
抛出
Cake\Cache\Exception\InvalidArgumentException
如果 $values 不是数组也不是 Traversable,或者如果任何 $values 不是合法值。

unserialize() ¶ protected

unserialize(string $value): mixed

反序列化从 Redis 获取的字符串值。

参数
string $value

要反序列化的值。

返回
混合

warning() ¶ protected

warning(string $message): void

如果在操作期间遇到故障,缓存引擎可能会触发警告,如果 option warnOnWriteFailures 设置为 true。

参数
string $message

警告信息。

返回
空

属性详情

$_Redis ¶ protected

Redis 包装器。

类型
Redis

$_config ¶ 受保护的

运行时配置

类型
array<string, mixed>

$_configInitialized ¶ 受保护的

配置属性是否已使用默认值进行配置

类型
布尔值

$_defaultConfig ¶ 受保护的

除非由运行时配置覆盖,否则使用的默认配置

  • database 用于连接的数据库编号。
  • duration 指定此缓存配置中项目的持续时间。
  • groups 与存储在此配置中的每个键关联的组或“标签”列表。方便从缓存中删除整个组。
  • password Redis 服务器密码。
  • persistent 使用持久连接连接到 Redis 服务器。
  • port Redis 服务器的端口号。
  • tls 使用 TLS 连接到 Redis 服务器。
  • prefix 附加到所有条目的前缀。当您需要与另一个缓存配置或另一个应用程序共享键空间时非常有用。
  • scanCount 每次扫描请求的键数(默认:10)
  • server Redis 服务器主机 URL 或 IP。
  • timeout 超时时间(以秒为单位)(浮点数)。
  • unix_socket Unix 套接字文件路径(默认:false)
类型
array<string, mixed>

$_groupPrefix ¶ 受保护的

包含所有组前缀的编译字符串,这些前缀将被附加到此缓存引擎中的每个键

类型
字符串
OpenHub
Pingping
Linode
  • 商业解决方案
  • 展示
  • 文档
  • 书籍
  • API
  • 视频
  • 报告安全问题
  • 隐私政策
  • 标识和商标
  • 社区
  • 参与进来
  • 问题 (Github)
  • 烘焙坊
  • 精选资源
  • 培训
  • 聚会
  • 我的 CakePHP
  • CakeFest
  • 新闻通讯
  • Linkedin
  • YouTube
  • Facebook
  • Twitter
  • Mastodon
  • 帮助和支持
  • 论坛
  • Stack Overflow
  • IRC
  • Slack
  • 付费支持

使用 CakePHP API 文档 生成