rss2/models/paises.py

19 lines
580 B
Python

from typing import List, Dict
from psycopg2 import extras
from cache import cache_get, cache_set
def get_paises(conn) -> List[Dict]:
# Intentar desde caché primero (datos casi estáticos)
cached_data = cache_get("paises:all")
if cached_data:
return cached_data
with conn.cursor(cursor_factory=extras.DictCursor) as cur:
cur.execute("SELECT id, nombre FROM paises ORDER BY nombre;")
result = cur.fetchall()
# Cachear por 1 hora (son datos estáticos)
cache_set("paises:all", result, ttl_seconds=3600)
return result