thefuriouscoder/propel2-data-cache-behavior
Composer 安装命令:
composer require thefuriouscoder/propel2-data-cache-behavior
包简介
A Propel ORM behavior that provide auto data caching for model and collections. Based on snakano/propel-data-cache-behavior
README 文档
README
A Propel ORM behavior that provide auto data caching to your model. Based on Propel 1.6 work of SNakano.
- support caching system APC, memcached and Redis (via DoctrineCache)
- auto caching and auto flush.
What's the difference with Query Cache Behavior
Query Cache Behavior is caching transformation of a query object (caching SQL code). This Behavior is caching the results of database. (caching result data)
Requirements
- PHP >= 5.3
- Propel >= 2.0.0
- DoctrineCacheFactory
Install
Composer
Add a dependency on thefuriouscoder/propel2-data-cache-behavior to your project's composer.json file.
{ "require": { "thefuriouscoder/propel2-data-cache-behavior": "dev-master" } }
Configuration
schema.xml
<table name="book"> <column name="id" required="true" primaryKey="true" autoIncrement="true" type="INTEGER" /> <column name="title" type="VARCHAR" required="true" primaryString="true" /> <behavior name="data_cache"> <parameter name="backend" value="apc" /> <!-- cache system. "apc" or "memcache", default "apc". (optional) --> <parameter name="lifetime" value="3600" /> <!-- cache expire time (second). default 3600 (optional) --> <parameter name="auto_cache" value="true" /> <!-- auto cache enable. default true (optional) --> </behavior> </table>
Initialize the Cache Store.
Add the following configuration code to your project bootstraping file depending on the storage you are goinng to use.
Using Memcached (php5-memcached extension needed)
// configure memcached setting. TFC\Cache\DoctrineCacheFactory::setOption( array( 'storage' => 'memcached', 'prefix' => 'rlyeh', 'default_ttl' => 3600, 'servers' => array( array('server1', 11211, 20), array('server2', 11211, 80) ) ) );
Using APC
// configure APC setting. TFC\Cache\DoctrineCacheFactory::setOption( array( 'storage' => 'apc', 'default_ttl' => 3600 ) );
Using Redis
// configure Redis setting. TFC\Cache\DoctrineCacheFactory::setOption( array( 'storage' => 'redis', 'prefix' => 'rlyeh', 'host => '127.0.0.1', 'port' => 6379, 'default_ttl' => 3600 ) );
Basic usage
$title = 'Cthulhu Mythos'; BookQuery::create() ->filterByTitle($title) ->findOne(); // from Database BookQuery::create() ->filterByTitle($title) ->findOne(); // from caching system
Disable cache
$title = 'Cthulhu Mythos'; BookQuery::create() ->setCacheDisable() // disable cache ->filterByTitle($title) ->findOne();
- setCacheEnable()
- setCacheDisable()
- isCacheEnable()
- setLifetime($ttl)
When cache delete?
$book = new Book; $book->setId(1); $book->setTitle("Cthulhu Myhtos"); $book->save(); // purge cache.
- expire cache lifetime.
- call
save()method. - call
delete()method. - call
BookQuery::doDeleteAll()method. - call
BookQuery::purgeCache()method.
Manually delete cache.
$title = 'Cthulhu Mythos'; $query = BookQuery::create(); $book = $query->filterByTitle($title)->findOne(); $cacheKey = $query->getCacheKey(); // get cache key. BookPeer::cacheDelete($cacheKey); // delete cache by key.
License
MIT License
thefuriouscoder/propel2-data-cache-behavior 适用场景与选型建议
thefuriouscoder/propel2-data-cache-behavior 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 17.52k 次下载、GitHub Stars 达 4, 最近一次更新时间为 2015 年 11 月 03 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「propel」 「cache」 「Behavior」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 thefuriouscoder/propel2-data-cache-behavior 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 thefuriouscoder/propel2-data-cache-behavior 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 thefuriouscoder/propel2-data-cache-behavior 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
A CakePHP plugin to provide easy access to zumba/swivel
repository php library
This is a set of Yii2 behaviors extensions
Laravel 5 - Repositories to the database layer
Model behaviors for the li₃ PHP framework
Free as in freedom php component that generates configuration based hard coded locator
统计信息
- 总下载量: 17.52k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 4
- 点击次数: 24
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2015-11-03