Redis 作为 CakePHP 3 中的 NoSQL Key/Value 数据库

Redis as NoSQL Key/Value Database in CakePHP 3

我想知道在 CakePHP 中使用 Redis NoSQL 数据库的最佳方式是什么,而不是用于缓存而是作为常规 Key/Value 存储?

Redis 2.4.2 或更高版本有一个插件,但该插件不适用于 CakePHP 3.x:Redis CakePHP 2.4.2 Plugin

在 CakePHP 3 中将 Redis 用作常规 Key/Value 数据库的最佳方式是什么?将 CakePHP 2.4.2 Redis-Plugin 升级为 CakePHP 3.x 插件的成本是多少。插件的迁移是最好的方法还是创建一个新的数据源更好? (当前的 Redis-Plugin 扩展了 Datasource-class。)

仔细看看该数据源的作用,它几乎只是 Redis class 实例的代理,除此之外它只处理连接和断开连接。

因此,除了具有自动 connect/disconnect 功能外,实现这样的数据源几乎没有任何意义,您也可以直接使用 Redis

https://github.com/phpredis/phpredis#classes-and-methods

如果您想将其用作数据源,即拥有它 accessible via the connection manager, then you'll have to implement \Cake\Datasource\ConnectionInterface

如果您正在寻找充当 ORM 的数据源,那就完全不同了,而且是一项相当复杂的任务,例如,请参见 the CakePHP ElasticSearch Datasource plugin