接着上文,不可能每次都都去实例化redis,这很麻烦,而且redis的配置没有分离,这样耦合度很高,不利于后续的代码修改,所以有修改了。
首先还是要启动redis-server,
在global.php
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) } }, ), ), );
之后在调用的地方
public function redisAction() { //获取redis $redis = $this->getServiceLocator()->get('Zend\Db\Adapter\Adapter\Redis'); $redis->setItem('zzc', 'zhangzhican110@gmail.com'); die; }
转载于:https://my.oschina.net/u/1377809/blog/198756