2015-11-24 34 views
0

我想將Symfony2與Azure上的Redis服務器連接起來,但無法弄清楚在哪裏放置主機名,端口和密鑰以及其他詳細信息(如果需要,我不知道)。在Symfony2上在Azure上使用Redis

composer.json

"predis/predis": "1.*", 
"snc/redis-bundle": "1.1.x-dev" 

config.yml配置爲每this tutorial

snc_redis: 
    # configure predis as client 
    clients: 
     default: 
      type: predis 
      alias: default 
      dsn: projectrdev.redis.cache.windows.net 
     doctrine: 
      type: predis 
      alias: doctrine 
      dsn: projectrdev.redis.cache.windows.net 
    # configure doctrine caching 
    doctrine: 
     metadata_cache: 
      client: doctrine 
      entity_manager: default 
      document_manager: default 
     result_cache: 
      client: doctrine 
      entity_manager: [default] 
     query_cache: 
      client: doctrine 
      entity_manager: default 

按Predis documentation客戶端可以配置,但現在知道如何在Symfony的環境中工作。

+0

看看這篇文章http://athlan.pl/symfony2-redis-session-handler/ –

回答

2

首先,我們應該啓用PHP集成的非SSL端點。 enter image description here

而你需要Redis的DSN連接字符串中使用以下格式結合:redis://[[email protected]]host[:port][/db]

例如,在config.yml文件在你的Symfony2應用程序,你可以配置,如: snc_redis: clients: default: type: predis alias: default dsn: redis://{password}@{your_redis_name}.redis.cache.windows.net

而且有在控制器功能測試: use Snc\RedisBundle\Doctrine\Cache\RedisCache; use Predis\Client; ... ... $redis = $this->container->get('snc_redis.default'); $val = $redis->incr('foo:bar'); echo $val;

+0

什麼是密碼?主要訪問密鑰? –

+0

@ChrisHarrison,是的。 –