Redis
 sql >> Baza danych >  >> NoSQL >> Redis

Jak połączyć się z instancją Redis (memorystore) ze standardowego silnika aplikacji Google (Python 3.7)

Łączenie z instancją Redis ze standardowej aplikacji środowiska App Engine i aplikacji App Engine Flex 2020

1.Pobierz i zainstaluj Cloud SDK.

2. Jeśli masz już zainstalowany pakiet Cloud SDK, zaktualizuj go, uruchamiając następujące polecenie:

gcloud components update

3.Utwórz nowy projekt:

gcloud projects create [YOUR_PROJECT_ID] --set-as-default

4. Sprawdź, czy projekt został utworzony:

gcloud projects describe [YOUR_PROJECT_ID]     

5. Ustaw właśnie utworzony projekt:

gcloud config set core/project PROJECT_ID

6. Zainicjuj aplikację App Engine w swoim projekcie i wybierz jej region:

gcloud app create --project=[YOUR_PROJECT_ID]

7.Po wyświetleniu monitu wybierz region, w którym chcesz zlokalizować aplikację App Engine.Zapamiętaj region, utworzymy instancję Redis i łącznik VPC w tym samym regionie. Moja aplikacja App Engine na europe-west2

8. Upewnij się, że rozliczenia są włączone w Twoim projekcie. Aby aplikacja mogła zostać wdrożona w App Engine, konto rozliczeniowe musi być połączone z Twoim projektem.

9.Zainstaluj następujące wymagania wstępne:

a.Pobierz i zainstaluj Git

b. Uruchom następujące polecenie, aby zainstalować komponent gcloud zawierający rozszerzenie App Engine dla Pythona 3.7:

gcloud components install app-engine-python

c.Przygotuj swoje środowisko do programowania w Pythonie

10. Utwórz instancję Memorystore dla Redis. Wprowadź następujące polecenie, aby utworzyć instancję Redis warstwy Basic 2 GiB w regionie „europe-west2”

gcloud redis instances create myinstance --size=2 --region=europe-west2 /
--redis-version=redis_4_0

11.Po utworzeniu instancji wprowadź polecenie opisu, aby uzyskać adres IP i port instancji.W celu połączenia się z instancją użyjesz wartości hosta i portu.Znajdź również autoryzowaną sieć instancji Redis

gcloud redis instances describe myinstance --region=europe-west2

12.Konfigurowanie bezserwerowego dostępu do VPC. Upewnij się, że tworzysz oprogramowanie sprzęgające w tym samym regionie, co Twoja aplikacja i instancja Redis, oraz upewnij się, że jest ono podłączone do autoryzowanej sieci VPC instancji Redis. Zapamiętaj nazwę złącza.

13. Upewnij się, że w Twoim projekcie włączono interfejs API bezserwerowego dostępu do VPC:

gcloud services enable vpcaccess.googleapis.com

14.Utwórz złącze za pomocą polecenia:

gcloud compute networks vpc-access connectors create connector --network default --region europe-west2 --range 10.10.0.0/28

15. Sprawdź, czy twoje złącze jest w stanie GOTOWE przed użyciem, wyjście powinno zawierać stan linii:READY .

16. Sklonuj repozytorium dla Pythona.

git clone https://github.com/GoogleCloudPlatform/python-docs-samples
cd python-docs-samples/memorystore/redis

17.Przygotowywanie aplikacji do wdrożenia App Engine Standard .Zaktualizuj konfigurację aplikacji, aby określić łącznik bezserwerowego dostępu do VPC oraz adres IP i port instancji Redis:

 cd gae_standard_deployment/
 cat app.yaml

runtime: python37
entrypoint: gunicorn -b :$PORT main:app

# Update with Redis instance details
env_variables:
  REDISHOST: '<REDIS_IP>'
  REDISPORT: '6379'

# Update with Serverless VPC Access connector details
vpc_access_connector:
  name: 'projects/<PROJECT_ID>/locations/<REGION>/connectors/<CONNECTOR_NAME>'

18.Wdrażanie aplikacji w standardowym środowisku App Engine

cd ..
cp gae_standard_deployment/app.yaml .

19.Uruchom polecenie wdrażania

gcloud beta app deploy

20.Po zakończeniu wdrażania odwiedź swoją aplikację pod następującym adresem URL, zastępując [ID_PROJEKTU] identyfikatorem projektu Google Cloud.

Visitor number: 4

SUKCES!

21.Przygotowywanie aplikacji do wdrożenia App Engine Flex .Zaktualizuj konfigurację aplikacji, aby określić adres IP i port instancji Redis:

cd gae_flex_deployment/
cat app.yaml

cp gae_flex_deployment/app.yaml .


runtime: python
env: flex
entrypoint: gunicorn -b :$PORT main:app

runtime_config:
  python_version: 3

# Update with Redis instance IP and port
env_variables:
  REDISHOST: '<REDIS_IP>'
  REDISPORT: '6379'

# Update with Redis instance network name
network:
  name: default

22.Wdrażanie aplikacji w standardowym środowisku App Engine

cd ..
cp gae_flex_deployment/app.yaml .

23.Uruchom polecenie wdrażania

gcloud beta app deploy

24.Po zakończeniu wdrażania przejdź do swojej aplikacji pod następującym adresem URL, zastępując [ID_PROJEKTU] identyfikatorem projektu Google Cloud.

Visitor number: 4

SUKCES!



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Jak unieważnić części hierarchii (drzewa) danych w pamięci podręcznej Redis?

  2. Jaki jest maksymalny rozmiar wartości, który możesz przechowywać w redis?

  3. Łączenie z Redis To Go za pomocą PHP

  4. Redis skrypt usuwania symboli wieloznacznych za pomocą EVAL, SCAN i DEL zwraca polecenia Write niedozwolone po poleceniach niedeterministycznych

  5. Ściągawka z optymalizacją pamięci Redis