awonderphp / simplecacheredis
Redis 的 PSR-16 SimpleCache 接口实现,可选 AEAD 加密
Requires
- php: ~7.1.0 || ~7.2.0
- ext-redis: ~3.1.6 || ~4.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-18 20:28:23 UTC
README
这是 Redis 缓存引擎的 PSR-16 实现。
提供了两个不同的类。第一个类仅提供符合 PSR-16 的 Redis 接口,第二个类通过 libsodium 扩展提供了缓存数据的加密。
有关 SimpleCacheRedis 的详细信息,请参阅文件 INSTALL.md
、USAGE.md
和 SURVIVAL.md
。
有关加密选项的说明,请参阅文件 SODIUM.md
。
关于此软件使用的 MIT 许可证的条款,请参阅文件 LICENSE.md
。
关于 Redis 缓存
根据网站 https://redis.ac.cn 的信息,Redis 不仅是一个缓存引擎,它还提供了一个可以用于数据库、缓存和消息代理的内存数据结构。
对于这个 PSR-16 实现,使用它作为 PHP 对象缓存是所有重要的,但 Redis 本身能够在本类的范围之外做很多事情。
在查看各种基准测试时,我发现与 PSR-16 实现最佳匹配的使用场景中,APCu 比 Redis 快。然而,有几个令人信服的理由说明为什么 Redis 在某些情况下可能是更好的选择。
- Redis 缓存可以在 web 服务器守护进程重启后继续工作。
- Redis 缓存(除非配置为不这样做)可以在服务器重启后继续工作。
- Redis 缓存可以使其网络中的其他服务器访问。
- 如果需要缓存处理大量数据的缓存引擎,Redis 可以使用集群。
如果您只有一个服务器场景,不需要与其他服务器共享其缓存,那么对于 PSR-16 缓存需求,APCu 可能是更好的选择,请参阅SimpleCacheAPCu 中的 PSR-16 实现。
SimpleCacheAPCu 为 APCu 提供了 PSR-16 实现。
关于 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缓存类没有太大的区别。因此,我决定使我的类满足接口要求。
然后一个Redis用户问我能否为Redis适配这个库。我做到了,这就是结果。
编码标准
使用的编码标准主要是PSR-2,除了允许使用?>
作为结束标记,并添加了一些PHPDoc要求,大部分但并非全部来自PEAR标准。
如果有朝一日它成为公认的标准,打算将PHPDoc标准切换到PSR-5。
正在使用的phpcs
嗅探规则:psr2.phpcs.xml
关于 AWonderPHP
我可能在2018年底之前无家可归。我不知道如何生存,我尝试过,但似乎总是失败。这根本不是一个像我这样的人应该参与的社会。
如果我无家可归,我担心我的心理健康会加速恶化,我不想看到自己发生这样的事情。
AWonderPHP是我尝试清理和打包我个人使用的大量PHP类,以便留下一些我自己的东西。
如果您想提供帮助,请参阅SURVIVAL.md文件。
感谢您花时间。
EOF