文档章节

扩展 ZF2 Redis Zend Framework 2 Redis Extend - key正则

letwang
 letwang
发布于 2014/09/24 13:30
字数 341
阅读 861
收藏 4

随着业务的进展,现在需要直接操作Redis 数据!

其中就需要获取指定前缀的key,就好像操作mysql一样,需要获取指定记录段!

ZF2强大的支持了redis缓存方式,但是当我运用ZF2 redis缓存工厂模式的时候,竟然发现ZF2不支持redis的keys方法!

//感谢博主:http://my.oschina.net/cart/

接下来给大家详述如何扩展ZF2 Redis:

\module\Application\src\Application\Service\RedisExtendService.php



<?php
namespace 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原始方法:

<?php
namespace 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!

而且你的扩展是高效,可移植的!



© 著作权归作者所有

共有 人打赏支持
letwang
粉丝 188
博文 53
码字总数 82989
作品 1
台北
技术主管
私信 提问
php 安装redis扩展

第一 下载:git上下载redis的扩展包 git clone https://github.com/nicolasff/phpredis 第二 挂载:在shell中输入 phpize 【查看适合的版本信息】 ./configure 编译 【phpize是用来扩展php扩...

崔小涣
2015/10/08
178
0
菜菜鸟Zend Framework 2 不完全学习涂鸦(一)-- 安装配置

声明:本人 PHPer 菜鸟一枚,Zend Framework 2 框架的菜菜鸟,刚学习 ZF2 不过 2 天。由于英语实在太破,所以一开始只能找网上 ZF2 中文教程,但很多教程都只说到 ZF2 安装与配置就结束了,没...

Jacky.Wang
2013/07/18
0
27
Zend Framework 2.0 正式版发布及新功能介绍

著名php开源框架Zend Framework经历了长达数年的开发,终于在2012年9月5日正式发布了2.0版本,下简称ZF2。时隔Zend 1.0版本的发布已经有5年之久。php的框架一直都是百家争鸣的,但是作为php...

今天星期一
2012/09/07
7.8K
24
Zend Framework 1.12 发布

Zend Framework 1.12 发布了,改进记录包括: ZF2's StandardAutoloader and ClassMapAutoloader have been back ported to `Zend_Loader`. ZF2's EventManager has been back ported to `Ze......

oschina
2012/08/29
1K
4
《Zend Framework 2 程序员参考指南》 一、概述 Overview

Zend Framework 2是一个使用PHP 5.3+(含以上版本)开发WEB应用程序和服务的开放源代码的框架(framework)。Zend Framework 2使用100%的面相对象代码,并且利用了大部分PHP5.3 的新功能,命...

v8v9v3000
2013/10/03
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Spring学习记录

Java类定义配置 @Configuration //标记为配置类@ComponentScan //标记为扫描当前包及子包所有标记为@Component的类@ComponentScan(basePackageClasses = {接口.class,...}) //标记为扫描当...

CHONGCHEN
今天
1
0
如何开发一款以太坊(安卓)钱包系列2 - 导入账号及账号管理

这是如何开发一款以太坊(安卓)钱包系列第2篇,如何导入账号。有时用户可能已经有一个账号,这篇文章接来介绍下,如何实现导入用户已经存在的账号。 导入账号预备知识 从用户需求上来讲,导...

Tiny熊
今天
3
0
intellJ IDEA搭建java+selenium自动化环境(maven,selenium,testng)

1.安装jdk1.8; 2.安装intellJ; 3.安装maven; 3.1 如果是单前用户,配置用户环境变量即可,如果是多用户,则需配置系统环境变量,变量名为MAVEN_HOME,赋值D:\Application\maven,往path中...

不最醉不龟归
今天
4
0
聊聊ShenandoahGC的Brooks Pointers

序 本文主要研究一下ShenandoahGC的Brooks Pointers Shenandoah Shenandoah面向low-pause-time的垃圾收集器,它的GC cycle主要有 Snapshot-at-the-beginning concurrent mark包括Init Mark(P......

go4it
昨天
4
0
Makefile通用编写规则

#简单实用的Makefile模板: objs := a.o b.o test:$(objs) gcc -o test $^ # .a.o.d .b.o.d dep_files := $(foreach f,$(objs),.$(f).d) dep_files := $(wildcard $(dep_files)) ifneq ($(d......

shzwork
昨天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部