jelix / php-redis-plugin
Jelix 的 Redis 插件,使用纯 PHP Redis API
1.7.8
2023-01-22 18:11 UTC
Requires
- jelix/php-redis: ^2.0.0
README
Jelix 的插件,通过 jKVDb(Jelix 的 NoSQL API)和 jCache 访问 Redis。
这些插件使用库 php-redis,一个用于连接 Redis 的纯 PHP 库。
如果你不能使用 Jelix 1.7+ 提供的 Redis 插件(使用 Redis 扩展 的 API),你可能需要使用这些插件。
这些插件适用于 Jelix 1.7.x 及更高版本。查看 jelix/jelix 存储库以了解 Jelix 1.7 之前的历史。
安装
像其他 Jelix 插件一样手动安装,或者如果你使用 Composer 安装了 Jelix 1.7+,则可以使用 Composer。
在你的项目中
composer require "jelix/php-redis-plugin"
你可以使用这些插件。它们的名称是 "redis_php"。
配置
对于配置,在 profiles.ini.php 文件中指定 host
和 port
参数。db
参数是可选的(默认为 0),应指示 Redis 中要使用的数据库编号。
配置示例
; for jkvdb [jkvdb:myredis] driver=redis_php host = localhost port = 6379 db=3 ; for jcache [jcache:myredis] driver=redis_php host = localhost port = 6379
此驱动程序支持 jIKVttl
接口。
其他参数配置
key_prefix
:在其中指定一个名称,所有键都将由该名称前缀key_prefix_flush_method
:当设置 key_prefix 时,指示如何执行刷新,因为删除可能非常耗费资源。可能的值是direct
:直接逐个删除键。警告:这可能会非常耗时。仅在你知道你只使用少量键时使用。jcacheredisworker
用于 jCache 配置文件,或jkvdbredisworker
用于 jKvDb 驱动程序:它将前缀推送到 Redis 中的 'list' 值。然后应该由其他进程/工作员删除键。Jelix 提供了这样的工作员(请参阅 lib/jelix/core-modules/jelix/controllers/redisworker.cmdline.php)event
:通知一个 jelix 事件(对于 jCache 是jCacheRedisFlushKeyPrefix
,对于 jKvDb 是jKvDbRedisFlushKeyPrefix
)。由你自己创建一个侦听器来以你想要的方式删除键。事件参数:prefix
指示要删除的键的前缀,profile
指示用于连接的 jCache/jKvdb。
单元测试
单元测试在 Testapp 中,在 jelix/jelix 存储库中。