Systems and methods for query caching
First Claim
1. A system to provide query caching, comprising:
- A query component capable of issuing a query to retrieve one or more instances of a class;
a query registration component capable of;
maintaining a query registry of strings of one or more queries; and
looking up the string of the query in the query registry;
a cache capable of storing the one or more instances of the class in memory; and
a cache management component capable of at least one of;
accessing a database using the query;
generating and storing a result of the query in the cache; and
retrieving the result of the query in the cache.
2 Assignments
0 Petitions
Accused Products
Abstract
Query caching enables the caching of EJB instances at the granularity of query level. It removes the current limitation on EJB caching by allowing the result from an arbitrary query which uses, e.g., either a primary key or a non-primary key, to be stored in the in-memory cache in the container. The query languages utilized by the query can be, but are not limited to SQL and EJB-QL. The performance of an application server can be improved significantly since the result of an query called after the result an identical query has been cached earlier can be retrieved from the cache directly without accessing the underlying database again. In addition, such query caching has an advantage in performance since it can be executed implicitly by the container instead of being explicitly invoked in the application code by the user. This description is not intended to be a complete description of, or limit the scope of, the invention. Other features, aspects, and objects of the invention can be obtained from a review of the specification, the figures, and the claims.
62 Citations
37 Claims
-
1. A system to provide query caching, comprising:
-
A query component capable of issuing a query to retrieve one or more instances of a class;
a query registration component capable of;
maintaining a query registry of strings of one or more queries; and
looking up the string of the query in the query registry;
a cache capable of storing the one or more instances of the class in memory; and
a cache management component capable of at least one of;
accessing a database using the query;
generating and storing a result of the query in the cache; and
retrieving the result of the query in the cache. - View Dependent Claims (2)
-
-
3. A system to provide query caching, comprising:
-
an EJB query component capable of issuing a query to retrieve one or more instances of an EJB;
a query registration component capable of;
maintaining a query registry of strings of one or more queries; and
looking up the string of the query in the query registry;
a cache capable of storing the one or more instances of the EJB in memory; and
a cache management component capable of at least one of;
accessing a database using the query;
generating and storing a result of the query in the cache; and
retrieving the result of the query in the cache. - View Dependent Claims (4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A method to provide query caching, comprising:
-
issuing a query to retrieve one or more instances of a class;
maintaining a query registry of strings of one or more queries;
looking up the string of the query in the query registry;
accessing a database using the query;
generating and storing a result of the query in a cache; and
retrieving the result of the query in the cache.
-
-
15. A method to provide query caching, comprising:
-
issuing a query to retrieve one or more instances of an EJB;
maintaining a query registry of strings of one or more queries;
looking up the string of the query in the query registry;
accessing a database using the query;
generating and storing a result of the query in a cache; and
retrieving the result of the query in the cache. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22, 23)
-
-
24. A machine readable medium having instructions stored thereon that when executed cause a system to:
-
issue a query to retrieve one or more instances of a class;
maintain a query registry of strings of one or more queries;
look up the string of the query in the query registry;
access a database using the query;
generate and store a result of the query in a cache; and
retrieve the result of the query in the cache.
-
-
25. A machine readable medium having instructions stored thereon that when executed cause a system to:
-
issue a query to retrieve one or more instances of an EJB;
maintain a query registry of strings of one or more queries;
look up the string of the query in the query registry;
access a database using the query;
generate and store a result of the query in a cache; and
retrieve the result of the query in the cache. - View Dependent Claims (26, 27, 28, 29, 30, 31, 32, 33)
-
-
34. A system to provide query caching, comprising:
-
means for issuing a query to retrieve one or more instances of a class;
means for maintaining a query registry of strings of one or more queries;
means for looking up the string of the query in the query registry;
means for accessing a database using the query;
means for generating and storing a result of the query in a cache; and
means for retrieving the result of the query in the cache.
-
-
35. A system to provide query caching, comprising:
-
means for issuing a query to retrieve one or more instances of an EJB;
means for maintaining a query registry of strings of one or more queries;
means for looking up the string of the query in the query registry;
means for accessing a database using the query;
means for generating and storing a result of the query in a cache; and
means for retrieving the result of the query in the cache.
-
-
36. A computer data signal embodied in a transmission medium, comprising:
-
a code segment including instructions to issue a query to retrieve one or more instances of a class;
a code segment including instructions to maintain a query registry of strings of one or more queries;
a code segment including instructions to look up the string of the query in the query registry;
a code segment including instructions to access a database using the query;
a code segment including instructions to generate and store a result of the query in a cache; and
a code segment including instructions to retrieve the result of the query in the cache.
-
-
37. A computer data signal embodied in a transmission medium, comprising:
-
a code segment including instructions to issue a query to retrieve one or more instances of an EJB;
a code segment including instructions to maintain a query registry of strings of one or more queries;
a code segment including instructions to look up the string of the query in the query registry;
a code segment including instructions to access a database using the query;
a code segment including instructions to generate and store a result of the query in a cache; and
a code segment including instructions to retrieve the result of the query in the cache.
-
Specification