Junior backend (C#/.NET) в Стартап · 13.04 · ред.
Сервис для сокращения URL с использованием ASP.NET Core
Привет! В сегодняшнем посте расскажу, как я реализовал простой и функциональный сервис для сокращения URL с использованием ASP.NET Core и Entity Framework.
Стек технологий 1. ASP.NET Core Web API — обработка запросов и маршрутизация. 2. Entity Framework Core — взаимодействие с базой данных. 3. MemoryCache — локальное кэширование для ускорения доступа.
Архитектура решения 1. API Три основных метода: - POST /shorten — создание новой сокращённой ссылки. - GET /{code} — редирект по коду на оригинальный URL. - GET /stats/{code} — статистика по кликам и дате создания.
2. Модель хранения Каждая запись содержит: - Оригинальный URL. - Уникальный короткий код (7 символов из A–Z, a–z, 0–9). - Дату создания и счётчик кликов.
3. Сервис логики - Генерация уникального кода с проверкой на коллизии в базе. - Сохранение и извлечение ссылок. - Инкремент кликов при переходе. - Кэширование ссылок в памяти на 30 минут для снижения нагрузки.
4. Контекст EF + миграции - Настройка контекста ApplicationDbContext и миграций с использованием SQL Server. - Конфигурация строки подключения в appsettings.json.
Оптимизация и масштабируемость - MemoryCache: существенно ускоряет доступ к часто используемым ссылкам. - Проверка дубликатов: не создаём новую ссылку, если такая уже есть в базе. - EF миграции: упрощают управление схемой базы данных.
Полный код проекта 👉 https://github.com/lebedev-ivan/URLShortener - Пример проекта URL Shortener
Не забудьте поставить звезды, если проект вам понравится! ⭐️ Это поможет мне понять, что я на верном пути.
еще контент автора
еще контент автора
Junior backend (C#/.NET) в Стартап · 13.04 · ред.
войдите, чтобы увидеть
и подписаться на интересных профи