Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/383.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/tensorflow/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 避免数据库命中_Java - Fatal编程技术网

Java 避免数据库命中

Java 避免数据库命中,java,Java,在我的java应用程序中,我有一个下拉框,其中需要填充来自游戏表的值 有一个单独的功能来添加游戏。(即:在桌面游戏中插入) 除非有人在数据库中添加内容,否则下拉列表的值不会改变 要开发填充下拉框的功能 一种方法是—— 每次发生页面加载时,点击表并获取数据以填充下拉列表 这是一种有效的方法吗?有人能给我推荐一个更好的替代设计吗 您可以使用缓存。。。每次添加游戏时,只需更新缓存即可。 实现缓存很简单。如果在同一个java应用程序中执行插入数据和检索下拉列表数据,那么我们可以为值列表实现一种缓存 因此

在我的java应用程序中,我有一个下拉框,其中需要填充来自游戏表的值

有一个单独的功能来添加游戏。(即:在桌面游戏中插入)

除非有人在数据库中添加内容,否则下拉列表的值不会改变

要开发填充下拉框的功能

一种方法是—— 每次发生页面加载时,点击表并获取数据以填充下拉列表


这是一种有效的方法吗?有人能给我推荐一个更好的替代设计吗

您可以使用缓存。。。每次添加游戏时,只需更新缓存即可。
实现缓存很简单。

如果在同一个java应用程序中执行插入数据和检索下拉列表数据,那么我们可以为值列表实现一种缓存

因此,我们需要一个结构来存储从数据库中获取的最后一个游戏列表,例如
list
,以及一个标志,该标志本质上是“某人将行添加到数据库”事件的指示器

每次请求带有下拉列表的页面时,我们首先检查指示器-如果它为真,那么我们需要从数据库重新加载列表并将其设置回false,如果它为false-我们可以返回缓存的列表。 每次用户向数据库添加条目时,我们都将该指示器设置为true


另外,在实现这种缓存时,请注意可能存在的并发问题。

您可以缓存查询结果,并可能保存大量数据库命中。不过,您必须找到一种合理的方法使缓存无效。@webExplorer不需要自己实现缓存。LRUCache也是一种常见的实现