In-Memory Cache for Web Application Data
First Claim
1. A method, comprising:
- maintaining, by a computing system, a multi-tenant database that stores data generated by a plurality of web applications corresponding to different tenants;
maintaining, by the computing system, an in-memory cache for the database;
storing, by the computing system, data in an entry of the cache, wherein the storing is performed in response to a store request that includes the data and an identifier for the entry;
retrieving, by the computing system, data from the entry of the cache and not from the multi-tenant database, wherein the retrieving is performed in response to a read request that specifies the identifier; and
providing, by the computing system, the retrieved data to a requesting computing device from the cache.
1 Assignment
0 Petitions
Accused Products
Abstract
Techniques are disclosed relating to caching web application data. In some embodiments, a computing system maintains a multi-tenant database and an in-memory cache for the database. In some embodiments, the computing system is configured to store data in an entry in response to a store request and retrieve data in response to a read request. In various embodiments, data cached by one tenant is not visible to other tenants. The cache may be partitioned and each partition may have an assigned capacity. The computing system may be configured to evict cached data based on capacity thresholds, least-recently-used information, time-to-live information, amount of data in an entry, etc. The cache may indicate misses when requested data is not present. Various disclosed techniques may improve web application performance while maintaining privacy between tenants.
28 Citations
20 Claims
-
1. A method, comprising:
-
maintaining, by a computing system, a multi-tenant database that stores data generated by a plurality of web applications corresponding to different tenants; maintaining, by the computing system, an in-memory cache for the database; storing, by the computing system, data in an entry of the cache, wherein the storing is performed in response to a store request that includes the data and an identifier for the entry; retrieving, by the computing system, data from the entry of the cache and not from the multi-tenant database, wherein the retrieving is performed in response to a read request that specifies the identifier; and providing, by the computing system, the retrieved data to a requesting computing device from the cache. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A non-transitory computer-readable medium having instructions stored thereon that are executable by a computing device to perform operations comprising:
-
maintaining a multi-tenant database that stores data generated by a plurality of web applications corresponding to different tenants; maintaining an in-memory cache for the database; storing data in an entry of the cache in response to a store request that includes the data and an identifier for the entry; retrieving data from the entry of the cache and not from the multi-tenant database in response to a read request that specifies the identifier; and providing the data to a requesting computing device from the cache. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A non-transitory computer-readable medium having instructions stored thereon that are executable by a computing device to perform operations comprising:
-
generating, by a computing device, web application data; transmitting a request to store the web application data in an in-memory cache maintained by one or more application servers, wherein the one or more application servers are also configured to maintain a database for one or more web applications executed by the computing device; transmitting a request to retrieve the web application data from the in-memory cache; and receiving retrieved data from the in-memory cache in response to the request, wherein the data is retrieved without accessing the database. - View Dependent Claims (20)
-
Specification