Kami mempunyai persediaan Symfony baharu dengan Redis sebagai mekanisme caching. Kami mahu menyambung ke hos tertentu, bukan hos tempatan lalai. Dalam pengeluaran, ./bin/console debug:dotenv memberikan REDIS_HOST yang betul. Ini dikonfigurasikan dalam .env dan .env.local.php kami.
Ralat yang kami dapat ialah:
Sambungan ditolak: tcp:127.0.0.1/6379
Ini ialah konfigurasi kami:
services.yml
services: Redis: # you can also use \RedisArray, \RedisCluster or \Predis\Client classes class: \Predis\Client calls: - connect: - '%env(REDIS_HOST)%' - '%env(int:REDIS_PORT)%' Symfony\Component\HttpFoundation\Session\Storage\Handler\RedisSessionHandler: arguments: - '@Redis' - prefix: sp_ss_ - ttl: 1800
cache.yml
framework: cache: app: cache.adapter.redis default_redis_provider: 'Redis' pools: site.cache: adapter: cache.app
Dan fail .env kami:
APP_ENV=prod APP_SECRET=**** MESSENGER_TRANSPORT_DSN=redis://redis.local:6379/messages REDIS_HOST=redis.local REDIS_PORT=6379 REDIS_URL=redis://redis.local:6379
Dokumentasi Symfony mengesyorkan menggunakan "panggilan -> sambung", tetapi hanya gunakannya jika anda mentakrifkan kelas anda sebagai "Redis". Apabila anda menggunakan 'PredisClient' anda perlu menggunakan tetapan berikut:
"config/services.yaml"
Saya juga menggunakan "PredisClient" dan selepas menukar kepada "argumen" sambungan berfungsi di sini.
Untuk rujukan parameter lanjut, sila semak pautan ini (senarai parameter sambungan) .