標籤:style blog http color io os 使用 ar strong
隨著業務的進展,現在需要直接操作Redis 資料!
其中就需要擷取指定首碼的key,就好像操作mysql一樣,需要擷取指定記錄段!
ZF2強大的支援了redis緩衝方式,但是當我運用ZF2 redis緩衝原廠模式的時候,竟然發現ZF2不支援redis的keys方法!
//感謝博主:http://my.oschina.net/cart/
接下來給大家詳述如何擴充ZF2 Redis:
\module\Application\src\Application\Service\RedisExtendService.php<?phpnamespace Application\Service;use Zend\Cache\Storage\Adapter\Redis;class RedisExtendService extends Redis{ public function __construct($options = null) { parent::__construct($options); } /** * support regular * * @param sting $keys */ public function getKeys($keys) { return $this->getRedisResource()->keys($keys); }}
OK,擴充完畢!
indexAction中直接使用我們擴充好的ZF2 Redis,只要你樂意擴充,不想局限於ZF2,那麼你就可以使用很多Redis原始方法:
<?phpnamespace Application\Controller;use Zend\Mvc\Controller\AbstractActionController;use Zend\View\Model\ViewModel;class IndexController extends AbstractActionController{ private static $redis; private function redis(){ if(!self::$redis){$config = $this->getServiceLocator()->get(‘config‘); self::$redis = new \Application\Service\RedisExtendService($config[‘Redis‘]); } return self::$redis; } public function indexAction(){ var_dump($this->redis()->getKeys(‘Member_*‘));var_dump($this->redis()->getKeys(‘Item_*‘));var_dump($this->redis()->getKeys(‘Product_*‘)); }}
有了此文,大家可以舉一反三,大量的繼承擴充ZF2!
而且你的擴充是高效,可移植的!
擴充 ZF2 Redis Zend Framework 2 Redis Extend - key正則