2025-02-28 –, Tikona Room | Chanakya Building / School of Business (capacity 200)
Problem
While GraphQL APIs provide great flexibility in querying data, their dynamic nature can lead to performance issues, including excessive database queries and API calls which can sometimes lead to throttling by the data source. These challenges can significantly impact the response time and scalability of applications, especially as they grow in complexity.
Approach
This talk focuses on caching strategies to improve GraphQL API performance:
- Entity-Level Caching: Efficiently cache individual records to minimize database fetches.
- Response Caching: Cache entire query results to reduce redundant data processing and API calls.
- Redis Caching: Implement Redis for high-speed in-memory caching, optimizing latency and throughput.
- DataLoader Utility: Leverage DataLoader to batch and cache database requests, eliminating the N+1 query problem.
Benefits
By incorporating these caching techniques, developers can achieve:
- Enhanced performance through reduced database queries and less number of network calls.
- Scalability to handle more requests without performance degradation.
- Improved efficiency in handling complex, data-intensive queries.
Implementation Strategy
We’ll dive into practical implementation using tools like Redis and DataLoader, along with strategies for cache expiration, ensuring long-term efficiency and scalability of GraphQL APIs.
Why This Is Effective
Unlike traditional REST APIs, GraphQL APIs benefit from a flexible query system that, when paired with the right caching strategies, can significantly reduce overhead, improve load times, and enhance overall system performance. This session provides a blueprint to efficiently scale and optimize GraphQL APIs in real-world applications.
Beginner - no experience needed
Hi there, my self Ajinkya Shinde, currently an Associate software engineer in platform engineering team, Red Hat. I graduated in 2024 itself from Indian institute of information technology Gwalior with a Integrated Btech + MTech roles.
I consider my self as a techie, someone who loves to create things, an not only create it but also share with other what and how we did, and also learn from other people experience and implement it in your own. This is the way we collaborate. This is my first conference proposal, but i think i have gained a good amount of knowledge by working extensively on GraphQL in our team, and would like to share and have discussions with all types of people.