awonderphp / simplecacheapcu
PSR-16 SimpleCache 接口的 APCu 实现,可选 AEAD 加密
Requires
- php: ~7.1.0 || ~7.2.0
- ext-apcu: ^5.0
- awonderphp/simplecache: ^1.0.1
- psr/simple-cache: ^1.0
Requires (Dev)
- phpunit/phpunit: ^7
- squizlabs/php_codesniffer: 3.*
- vimeo/psalm: ^0
Suggests
- ext-sodium: ~2.0.1
Provides
This package is not auto-updated.
Last update: 2024-09-21 02:33:00 UTC
README
这是 APCu 缓存引擎的 PSR-16 实现之一。
提供两种不同的类。第一个仅提供对 APCu 的 PSR-16 兼容接口,第二个通过 libsodium 扩展提供缓存的加密。
有关 SimpleCacheAPCu 的特定信息,请参阅文件 INSTALL.md
、USAGE.md
和 SURVIVAL.md
。
有关加密选项的特定说明,请参阅文件 SODIUM.md
。
有关此软件使用的 MIT 许可证的条款,请参阅文件 LICENSE.md
。
关于 APCu 缓存
APCu 在 Web 服务器内存中缓存 key => value
对。键必须是字符串,但值可以是任何可序列化的类型。
有效使用 APCu 可以显著提高 Web 应用程序的性能,减少 Web 应用程序需要执行的数据库或文件系统查询次数,或者从这些查询中处理数据。
信息通常可以直接从系统内存中检索,已形成 Web 应用程序需要的格式,从而大大减少服务器响应客户端查询的时间。
APCu 缓存仅存在于 Web 服务器内存中。如果您重新启动 Web 服务器守护进程,所有存储的内容都会丢失。如果 Web 服务器需要内存用于其自身的用途,它将丢弃一些或所有 key => value
对。
如果您需要比 APCu 提供的更持久的缓存,您应使用 SimpleCacheRedis。
当 Web 应用程序需要可以缓存的信息时,应使用该信息的唯一键。然后,Web 应用程序尝试从缓存中获取所需的信息。
如果它在那里,Web 应用程序可以立即使用它,从而实现快速响应时间。当信息不在那里(称为“错过”)时,Web 应用程序则通过其他方式获取信息(例如,通过数据库查询处理数据)并将其存储在缓存中,这样它在下次从缓存中查询时很可能存在。
如果您需要网络缓存,APCu 不是您的最佳选择,请参阅前面给出的 Redis 链接。然而,对于公共服务器上的本地缓存,它非常轻量且快速。
关于 PHP-FIG 和 PSR-16
PHP-FIG是PHP框架互操作性小组。他们主要存在是为了创建标准,使得世界各地的不同开发者能够更容易地创建可以互相协作的项目。例如,PHP-FIG推动了PSR-0和PSR-4自动加载标准,这使得将其他人为编写的PHP类库集成到您的Web应用程序中变得非常非常容易。
PHP-FIG之前发布了PSR-6作为缓存接口标准,但PSR-6的接口要求超出了许多Web应用程序开发者的需求。对于不需要PSR-6要求的某些功能的我们来说,KISS - '简单就是好'原则适用。
为了满足那些不需要PSR-6实现的人的需求,开发了PSR-16,并且现在已经成为一个公认的标准。
当我阅读PSR-16时,定义的接口并没有和我个人使用多年的APCu缓存类有太大的不同。所以我决定让我的类符合接口要求,这就是结果。
编码标准
使用的编码标准主要是PSR-2,除了允许使用?>
作为结束标签,并且增加了一些PHPDoc要求,主要但不是全部借鉴了PEAR标准。
如果有一天它成为公认的标准,意图是将PHPDoc标准切换到PSR-5。
正在使用的phpcs
嗅探规则:psr2.phpcs.xml
关于 AWonderPHP
我可能在2018年底之前无家可归。我不知道如何生存,我尝试了,但不管我尝试什么,似乎总是失败。这根本不是一个像我这样的人应该成为其中一员的社会。
如果我真的无家可归,我担心我的心理健康会加速恶化,我不想看到这种情况发生在我身上。
AWonderPHP是我整理和打包许多个人使用的PHP类的一个尝试,以便留下我的一部分。
如果您愿意提供帮助,请参阅SURVIVAL.md文件。
感谢您抽出时间。
EOF