1. A method, comprising: determining a first plurality of records that have been previously viewed within a system within a predetermined period of time; storing the determined first plurality of records in a cache; receiving an entry made by a user into a lookup field of a record to be created or edited; identifying one or more of the first plurality of records stored in the cache that are determined to include data that at least partially matches the entry made by the user into the lookup field; automatically presenting to the user the data of the one or more identified records that at least partially matches the entry, where the data is retrieved from the cache and is presented in a list; determining whether data of one of the one or more identified records presented in the list is selected by the user; when it is determined that data of one of the one or more identified records is selected by the user, automatically populating the lookup field of the record to be created or edited with the selected data, including automatically creating an association between the record to be created or edited and the record that contains the data selected by the user, such that a reference to the selected data is stored in the lookup field; when it is determined that data of one of the one or more identified records is not selected by the user, determining whether a command to perform a lookup has been received from the user in association with the entry made by the user into the lookup field; and when it is determined that the command to perform the lookup has been received from the user, performing the lookup by: comparing the entry made by the user into the lookup field to one or more fields of each of a second plurality of records stored in a database to determine whether the entry matches one or more fields of one or more records in the database, where the database is separate from the cache, and displaying results of the comparing to the user.