The MyISAM Key Cache is accessed, it is the most recently used and is placed at the end of the list. When blocks need to be replaced, blocks at the beginning of the list are the least recently used and become the first candidates for eviction. The  InnoDB  storage engine also uses an LRU algorithm, to manage its buffer pool. See Section 15.5.1, “Buffer Pool” . Threads can access key cache buffers simultaneously, subject to the following conditions: Shared access to the key cache enables the server to improve throughput significantly. As of MySQL 8.0, the compound-part structured-variable syntax discussed here for referring to multiple  MyISAM  key caches is deprecated. Shared access to the key cache improves performance but does not eliminate contention among sessions entirely. They still compete for control structures that manage access to the key cache buffers. To reduce key cache access contention further, MySQL also provides multiple key caches. This feature enables you to assign different table indexes to different key caches. Where there are multiple key caches, the server must know which cache to use when processing queries for a given  MyISAM  table. By default, all  MyISAM  table indexes are cached in the default key cache. To assign table indexes to a specific key cache, use the  CACHE INDEX  statement (see Section 13.7.8.2, “CACHE INDEX Statement” ). For example, the following statement assigns indexes from the tables  t1 ,  t2 , and  t3  to the key cache named  hot_cache : The key cache referred to in a  CACHE INDEX  statement can be created by setting its size with a  SET GLOBAL  parameter setting statement or by using server startup options. For example: To destroy a key cache, set its size to zero: You cannot destroy the default key cache. Any attempt to do this is ignored: mysql>  SET GLOBAL keycache1.key_buffer_size=0; mysql>  SET GLOBAL keycache1.key_buffer_size=128*1024; 1817 Note •A buffer that is not being updated can be accessed by multiple sessions. •A buffer that is being updated causes sessions that need to use it to wait until the update is complete. •Multiple sessions can initiate requests that result in cache block replacements, as long as they do not interfere with each other (that is, as long as they need different index blocks, and thus cause different cache blocks to be replaced). 8.10.2.1 Shared Key Cache Access 8.10.2.2 Multiple Key Caches mysql>  CACHE INDEX t1, t2, t3 IN hot_cache; +---------+--------------------+----------+----------+ | Table | Op | Msg_type | Msg_text | +---------+--------------------+----------+----------+ | test.t1 | assign_to_keycache | status | OK | | test.t2 | assign_to_keycache | status | OK | | test.t3 | assign_to_keycache | status | OK | +---------+--------------------+----------+----------+