Book Image

Hands-On Enterprise Application Development with Python

By : Saurabh Badhwar
Book Image

Hands-On Enterprise Application Development with Python

By: Saurabh Badhwar

Overview of this book

Dynamically typed languages like Python are continuously improving. With the addition of exciting new features and a wide selection of modern libraries and frameworks, Python has emerged as an ideal language for developing enterprise applications. Hands-On Enterprise Application Development with Python will show you how to build effective applications that are stable, secure, and easily scalable. The book is a detailed guide to building an end-to-end enterprise-grade application in Python. You will learn how to effectively implement Python features and design patterns that will positively impact your application lifecycle. The book also covers advanced concurrency techniques that will help you build a RESTful application with an optimized frontend. Given that security and stability are the foundation for an enterprise application, you’ll be trained on effective testing, performance analysis, and security practices, and understand how to embed them in your codebase during the initial phase. You’ll also be guided in how to move on from a monolithic architecture to one that is service oriented, leveraging microservices and serverless deployment techniques. By the end of the book, you will have become proficient at building efficient enterprise applications in Python.
Table of Contents (24 chapters)
Title Page
Copyright and Credits
About Packt
Contributors
Preface
Index

Utilizing caching


In most enterprise applications, data that has been accessed once is used again and again. This could be in different requests, or could be because the requests are operating on the same set of data.

In these kinds of scenarios, it would be a huge waste of resources if we tried to access the same data again and again from the database, causing the application to make a lot of queries to the database, resulting in high database loads and poor response times.

The ORM layers we use provide some degree of caching to already accessed data, but still, most of the control resides in the hands of the application developer, who can use his wisdom to make the application performant by analyzing which data will be used again and again, and providing mechanisms for caching it.

Let's take a look at some the caching techniques and see how they can help us to make our application performant in terms of data access.

Caching at the database level

Databases are quite a complex piece of software...