gpt4 book ai didi

具有内存中字典的 Java servlet,它是线程安全的,并且可以重新初始化

转载 作者:行者123 更新时间:2023-11-30 09:44:22 26 4
gpt4 key购买 nike

我想构建一个非常简单的 servlet,它将在单个 url 端点读取 http 发布的数据,例如:

http://localhost:8080/post

然后它必须:

1. authenicate the request based appId and userId that was posted
2. if authentication went ok, gather the form fields and save it to the db.

这将是一个非常简单的 servlet,不需要任何繁重的框架。

我可能会有 10K-50K 用户,我不想执行数据库查找来进行身份验证。

我只想将此信息存储在字典/哈希中,这必须是线程安全的。

如果有新用户注册,我必须能够使这个内存中的字典无效并从 mysql 重新加载应用程序/用户数据,但前提是有新用户注册。

规范要求它在高负载下工作,每秒最多 5K 个请求。

我是 java 的新手,只是在尝试如何在 java/servlet 中完成此操作。

我怎样才能将这个字典作为我的 servlet 的 doGet 方法可访问的静态类型字段,同时又能够在新用户加入时重新初始化它。

这是一个我想在其上构建的简单 servlet:

package test;

import java.io.*;

import javax.servlet.http.*;
import javax.servlet.*;

public class HelloServlet extends HttpServlet {
public void doGet (HttpServletRequest req,
HttpServletResponse res)
throws ServletException, IOException
{
PrintWriter out = res.getWriter();

out.println("Hello, world!");
out.close();
}
}

请不要对我假设太多,非常感谢有关如何设置此字典的代码片段。

我想了解的关键是如何设置可在我的 servlet 中使用的字典以响应请求和执行查找,以及如何从 mysql 初始加载它然后能够在线程中重新初始化它-安全的方式。

最佳答案

除了 ConcurrentHashMap 之外,您的帖子对您​​遇到的具体问题略有说明。你可能会感兴趣。

这可以是一个静态字段,然后您可以使用 getput 方法存储和检索您需要的信息。

关于具有内存中字典的 Java servlet,它是线程安全的,并且可以重新初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7930164/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com