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

随着业务的进展,现在需要直接操作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!

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

时间: 2024-08-27 04:41:04

扩展 ZF2 Redis Zend Framework 2 Redis Extend - key正则的相关文章

redis以及php的redis扩展安装部署

一.redis 安装部署: tar xf redis-3.2.8.tar.gz cd redis-3.2.8 make MANIFESTO=jemalloc make PREFIX=/usr/local/redis-3.2.8 install ln -s /usr/local/redis-3.2.8/ /usr/local/redis echo "export PATH=/usr/local/redis/bin:$PATH" >> /etc/profile find / -

安装redis和php的redis扩展

一.安装Redis 在服务器上下载好最新的redis解压包后,解压 #tar -zxvf redis-3.2.0-tar-gz #cd redis-3.2.0-tar-gz #make (redis-3.2.0-tar-gz是二进制包,所以不需要./configure命令.) #cd src #make install 之后我们需要将redis的文件复制到/usr/local/redis目录下 # mkdir -p /usr/local/redis/bin# mkdir -p /usr/loca

ubuntu安装redis的方法以及PHP安装redis扩展、CI框架sess使用redis的方法

再一次被网上那些教程误导后决定自己写一个.真心被那些奇怪的教程误导了好几次,之前研究其它东西的时候也是.蛋疼啊. 安装redis 直接用apt-get命令即可 sudo apt-get install redis-server 安装的时候会询问你一个东西,输入Y就行. 安装完后会自动启动redis的服务,可以通过下面命令来查看进程是否已经启动. ps -aux|grep redis 然后检查下redis服务的状态,看看是不是runing. redis-server is running 安装PH

nginx+play framework +mongoDB+redis +mysql+LBS实战总结

nginx+play framework +mongoDB+redis +mysql+LBS实战总结(一) 使用这个样的组合结构已经很久了,主要是实现web-server,不是做网站,二是纯粹的数据服务server.早就想总结一下,一直没有时间,最近也是一而再再而三的解决了使用途中的各种问题,从此片开始到之后悔慢慢的将这些经验教训总结下来,一边自己和朋友们借鉴使用.此片算是开篇吧,首先对这几种技术或者说平台做简单的介绍吧,顺便推荐一些文章给大家. nginx:本身是一个web server ,在

linux系统安装redis服务器与php redis扩展

一 安装redis服务 1更新yum源 CentOS/RHEL 7.x: rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm 如果是centos6,那么执行以下代码: CentOS/RHEL 6.x: rpm -Uvh https://dl.fedorapro

redis慢查询日志、php安装redis扩展、redis存储session、redis主从配置

一:redis慢查询日志 编辑配置文件/etc/redis.conf针对慢查询日志,可以设置两个参数,一个是执行时长,单位是微秒,另一个是慢查询日志的长度.当一个新的命令被写入日志时,最老的一条会从命令日志队列中被移除. slowlog-log-slower-than 1000 //单位ms,表示慢于1000ms则记录日志slowlog-max-len 128 //定义日志长度,表示最多存128条slowlog get //列出所有的慢查询日志slowlog get 2 //只列出2条slowl

Redis集群~StackExchange.redis连接Twemproxy代理服务器

回到目录 本文是Redis集群系列的一篇文章,主要介绍使用StackExchange.Redis进行Twemproxy(文中简称TW)代理服务的连接过程,事务上,对于TW来说,我们需要理解一下它的物理架构,它类似于Nugix,主要实现的是请求转发,但它还有一个重要的功能,那就是自动分片,这对于大数据是很必要的,你的服务器需要横向扩展时,不需要告诉客户端,这是一种很理解化的设计模式,当然,也对于Redis来说,在配置TW之后,是可以被全美支持的! 关于tw和Redis集群的设计图 关于StackE

Redis开发 - 1. 认识redis

1. 什么是Redis? Redis is a very fast non-relational database that stores a mapping of keys to five different types of values. (Redis是一种速度非常快的非关系型数据库,NoSql的一种,它存储着以键值对为形式的数据,值的类型5种.) Redis是Remote Dictionary Server(远程字典服务器)的缩写. Redis supports in-memory pe

【原创】Zend Framework 2框架之MVC

ZendFramework 2框架之MVC 作者:sys(360电商技术组) 1.前言 Zend Framework 2是zend官方推出的php开源框架,基于php5.3.他全然採用面向对象的代码实现,并利用了php5.3的一些新特性,比方命名空间.闭包等.由于是官方的推荐的,今天我们就来学习学习Zend Framework 2,由于本人知识浅薄,也没有实际的用Zend Framework 2做项目开发的经验.有错误的地方还请大家指正,也希望在后面的开发中能用用该框架,此篇文章权当抛砖引玉.