接着上文,不可能每次都都去實例化redis,這很麻煩,並且redis的配置沒有分離,這樣耦合度很高,不利於後續的代碼修改,因此有修改了。php
首先仍是要啓動redis-server,redis
在global.phpsession
return array( 'redis_config'=>array( 'Server' =>'127.0.0.1:6379', 'Database' =>'0', 'Namespace' =>'session', 'Writable' =>true, 'Readable' =>true, ), 'service_manager' => array( 'factories' => array( 'Zend\Db\Adapter\Adapter\Redis' => function ($sm) { $config = $sm->get('Configuration'); if(isset($config['redis_config'])){ //redis option $config_redis = $config['redis_config']; $redisOption = new \Zend\Cache\Storage\Adapter\RedisOptions(); $redisOption->setServer($config_redis['Server']) ->setDatabase($config_redis['Database']) ->setNamespace($config_redis['Namespace']) ->setWritable($config_redis['Writable']) ->setReadable($config_redis['Readable']); return new \Zend\Cache\Storage\Adapter\Redis($redisOption) } }, ), ), );
以後在調用的地方this
public function redisAction() { //獲取redis $redis = $this->getServiceLocator()->get('Zend\Db\Adapter\Adapter\Redis'); $redis->setItem('zzc', 'zhangzhican110@gmail.com'); die; }