vinxs/ laravel-memory-cache
基于内存的简单缓存系统,用于Laravel Eloquent。主要目标是防止对数据库的无效调用。
1.0-beta3
2018-09-12 17:32 UTC
Requires
- php: >=7.1.0
- illuminate/database: ^5.6
This package is not auto-updated.
Last update: 2024-09-28 00:07:29 UTC
README
该包的主要目标是防止对数据库的无用调用,这些调用可以轻松地保存在内存中。
特性SimpleMemoryCached会监视从数据库中创建的新模型实例,并将它们保存在内存中的缓存存储中。如果您使用find方法请求一个模型及其主键,它将先在存储中检查,然后再请求数据库。
我知道如果正确访问模型实例,这将是无用的,但它可以帮助小型项目的优化。
\App\CachedModel::where('id', '<=', 50)->get(); for ($i=0; $i < 200; $i++) { \App\CachedModel::find(1); } // Only one request will be made : // SELECT * FROM `cached_models` WHERE `id` <= 50
安装
使用composer要求此包。请谨慎使用,它尚未准备好投入生产。
composer require vinks/laravel-memory-cache
用法
您只需将一个特性添加到您的模型中。
class VeryOftenLoadItem extends Model { use \Vinks\MemoryCaching\SimpleMemoryCached; // Additionnally, you can change the maximum number of items will be kept for a model. Default: 50. const MEMORY_CACHE_LIMIT = 50; }
贡献
- 分叉它!
- 创建您的功能分支:
git checkout -b my-new-feature - 提交您的更改:
git commit -am '添加一些特性' - 推送到分支:
git push origin my-new-feature - 提交一个pull请求 :D
历史
版本1.0 (2018-09-03):基于主键的内存缓存的第一种实现。
致谢
主要开发者 - Vincent Demonchy (@vinksyunit)
许可证
MIT许可证(MIT)
版权所有(c)2018 Vincent Demonchy
特此授予任何人,免费获得本软件及其相关文档副本(“软件”),在不受限制的情况下处理该软件,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或出售软件副本,并允许向软件提供副本的个人这样做,前提是满足以下条件
上述版权声明和本许可声明应包含在所有副本或实质性部分中。
软件按“原样”提供,不受任何保证,明示或暗示,包括但不限于适销性、特定目的适用性和非侵权性保证。在任何情况下,作者或版权所有者均不对任何索赔、损害或其他责任负责,无论该索赔、损害或其他责任是因合同、侵权或其他原因引起的,是否与软件或软件的使用或其他交易有关。