中国广东网站建设,在哪些网站能接到活做,有什么好的提供外链网站,网页报价单怎么做大家好#xff0c;今天的任务是创建一个常用的编辑接口。实际上#xff0c;这个接口是在大约十点半时给我的#xff0c;他说要在下午上线。我在7号接口完成之后#xff0c;通过代码和预言室来实现这个业务。
首先#xff0c;这是一个评论编辑接口#xff0c;编辑的内容是…大家好今天的任务是创建一个常用的编辑接口。实际上这个接口是在大约十点半时给我的他说要在下午上线。我在7号接口完成之后通过代码和预言室来实现这个业务。
首先这是一个评论编辑接口编辑的内容是一个拼音码。拼音码是什么呢你可以这样理解如果你的名称是苹果那么它的拼音码就是大写的“PG”即苹果的第一个字母是P第二个字母是G。这个拼音码是由后端生成的通过你的名称去生成的。
我的任务是尽可能地编辑与品名相对应的拼音码。
这个功能已经有相应的API了所以我只需要调用即可。这个接口实际上可以分批处理但是我们的要求不是这样。我们在其中加入了很多技术其中包括Redis分布式锁和多线程。虽然我不知道为什么要这样做但是我按照领导的要求操作。
我们公司有两个项目另一个项目已经实现了这个功能而我现在负责的项目还没有。我的领导让我参考那个项目并复制它的代码。但是这个代码不完全相同有很多地方需要修改。我发现原来的逻辑会发生死锁因为他采用了一个Redis分布式锁和一个云集类。我还没有理解这个云集类是什么但是它对我的代码有很大影响所以我先不管它。在调试这个代码的时候我第一次遇到了死锁。因为在执行的过程中发生了异常所以发生了死锁。
他的代码显得有点奇怪没有真正做到回滚或者说没有揣揣cash。我直接把那个问题住掉了然后可以继续往下执行了。但是这引发了一个问题即原来的逻辑是直接把那个k删掉但是后来我们这个系统里面是把那个k设置为过期。这两种方式有什么区别呢我还没有搞清楚。
最后我想说所有涉及到数据库的逻辑一定要try catch最后在finally里面释放否则会很难受。
谢谢大家。 接下来我会详细说明这个编辑接口的实现逻辑。首先我们需要通过API获取品名和相应的名称。然后我们需要将名称转换为拼音码。这里需要注意的是我们需要将品名和名称与拼音码进行一一对应。这个过程可能会比较耗时所以我们需要将任务分批处理。
我们使用Redis分布式锁来确保同一时间只有一个任务在运行。这个锁的实现需要注意一些问题例如锁的粒度、锁的超时时间等等。我们还使用了多线程来提高任务的处理效率。
在实现这个编辑接口时我们还遇到了一些问题。例如我们发现原来的逻辑会发生死锁所以我们不得不修改一些代码。此外我们还发现原来的代码没有做到回滚或者说没有揣揣cash这可能会在数据处理过程中引发一些问题。
最后我想强调一下所有涉及到数据库的逻辑一定要try catch最后在finally里面释放否则会很难受。同时我们还需要做好日志的记录方便出现问题时进行排查。
今天的任务是创建一个常用的编辑接口。实际上这个接口是在大约十点半时给我的他说要在下午上线。我在7号接口完成之后通过代码和预言室来实现这个业务。
首先这是一个评论编辑接口编辑的内容是一个拼音码。拼音码是什么呢你可以这样理解如果你的名称是苹果那么它的拼音码就是大写的“PG”即苹果的第一个字母是P第二个字母是G。这个拼音码是由后端生成的通过你的名称去生成的。
我的任务是尽可能地编辑与品名相对应的拼音码。
这个功能已经有相应的API了所以我只需要调用即可。这个接口实际上可以分批处理但是我们的要求不是这样。我们在其中加入了很多技术其中包括Redis分布式锁和多线程。虽然我不知道为什么要这样做但是我按照领导的要求操作。
我们公司有两个项目另一个项目已经实现了这个功能而我现在负责的项目还没有。我的领导让我参考那个项目并复制它的代码。但是这个代码不完全相同有很多地方需要修改。我发现原来的逻辑会发生死锁因为他采用了一个Redis分布式锁和一个云集类。我还没有理解这个云集类是什么但是它对我的代码有很大影响所以我先不管它。在调试这个代码的时候我第一次遇到了死锁。因为在执行的过程中发生了异常所以发生了死锁。
他的代码显得有点奇怪没有真正做到回滚或者说没有揣揣cash。我直接把那个问题住掉了然后可以继续往下执行了。但是这引发了一个问题即原来的逻辑是直接把那个k删掉但是后来我们这个系统里面是把那个k设置为过期。这两种方式有什么区别呢我还没有搞清楚。
最后我想说所有涉及到数据库的逻辑一定要try catch最后在finally里面释放否则会很难受。
谢谢大家。
接下来我会详细说明这个编辑接口的实现逻辑。首先我们需要通过API获取品名和相应的名称。然后我们需要将名称转换为拼音码。这里需要注意的是我们需要将品名和名称与拼音码进行一一对应。这个过程可能会比较耗时所以我们需要将任务分批处理。
我们使用Redis分布式锁来确保同一时间只有一个任务在运行。这个锁的实现需要注意一些问题例如锁的粒度、锁的超时时间等等。我们还使用了多线程来提高任务的处理效率。
在实现这个编辑接口时我们还遇到了一些问题。例如我们发现原来的逻辑会发生死锁所以我们不得不修改一些代码。此外我们还发现原来的代码没有做到回滚或者说没有揣揣cash这可能会在数据处理过程中引发一些问题。
最后我想强调一下所有涉及到数据库的逻辑一定要try catch最后在finally里面释放否则会很难受。同时我们还需要做好日志的记录方便出现问题时进行排查。
谢谢大家