当前位置: 首页 > news >正文

一个域名访问不同的网站赣州网吧

一个域名访问不同的网站,赣州网吧,网址有哪些组成,友情链接检测工具问题描述 测试阶段#xff0c;由于存在某一功能的同时操作#xff0c;该功能还是入库逻辑#xff0c;此时若不进行处理#xff0c;会造成插入表中多条重复数据#xff0c;为此该问题需要修复。 解决办法 在接口开始进行对是否存在某个key值的判断#xff0c;若不存在由于存在某一功能的同时操作该功能还是入库逻辑此时若不进行处理会造成插入表中多条重复数据为此该问题需要修复。 解决办法 在接口开始进行对是否存在某个key值的判断若不存在则插入一条到redis中并加锁若存在则提示“正在处理中”若中间出现逻辑处理异常则需要对该key值删除最后进行对锁的释放 话不多说上代码 pom.xml 依赖补充 dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-data-redis/artifactId /dependency application.yml文件中redis配置 redis:host: 127.0.0.1port: 6379timeout: 10poolMaxTotal: 1000poolMaxIdle: 500poolMaxWait: 500 UserMapper.java import com.example.demo.entity.User;import org.apache.ibatis.annotations.Mapper;Mapper public interface UserMapper {int add(User user);User queryByName(String name); }UserMapper.xml ?xml version1.0 encodingutf-8? !DOCTYPE mapperPUBLIC -//mybatis.org//DTD Mapper 3.0//ENhttp://mybatis.org/dtd/mybatis-3-mapper.dtd mapper namespacecom.example.demo.mapper.UserMapperselect idqueryByName resultMapuserResultselect id,name,age from USERwhere name#{name}/selectinsert idadd parameterTypecom.example.demo.entity.UserINSERT INTO USER (id,name, age)VALUES (SYS_GUID(),#{name},#{age})/insert /mapper RedisService类 import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.stereotype.Service;import java.util.concurrent.TimeUnit;Service public class RedisService {AutowiredRedisTemplateString,Object redisTemplate;/*** 加锁* param key* param value* param expireTime* return*/public boolean lock(String key, String value, Long expireTime) {Boolean success redisTemplate.opsForValue().setIfAbsent(key, value);if (expireTime ! null expireTime 0) {redisTemplate.expire(key, expireTime, TimeUnit.SECONDS);}return success ! null success;}/*** 释放锁* param key*/public void unlock(String key) {redisTemplate.opsForValue().getOperations().delete(key);}/*** 根据key删除信息* param key*/public void deleteStr(String key) {redisTemplate.delete(key);} }bean配置 解决redis内容乱码为了方便我这边直接在启动类中配置 BeanSuppressWarnings(all)public RedisTemplateString, Object redisTemplate(RedisConnectionFactory factory) {RedisTemplateString, Object template new RedisTemplateString, Object();template.setConnectionFactory(factory);Jackson2JsonRedisSerializer jackson2JsonRedisSerializer new Jackson2JsonRedisSerializer(Object.class);ObjectMapper om new ObjectMapper();om.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY);om.enableDefaultTyping(ObjectMapper.DefaultTyping.NON_FINAL);jackson2JsonRedisSerializer.setObjectMapper(om);StringRedisSerializer stringRedisSerializer new StringRedisSerializer();// key采用String的序列化方式template.setKeySerializer(stringRedisSerializer);// hash的key也采用jackson的序列化方式template.setHashKeySerializer(jackson2JsonRedisSerializer);// value序列化方式采用jacksontemplate.setValueSerializer(jackson2JsonRedisSerializer);// hash的value序列化方式采用jacksontemplate.setHashValueSerializer(jackson2JsonRedisSerializer);template.afterPropertiesSet();return template;} controller类 该程序对新增用户功能同时操作的模拟补充redis中key的判断具体开发逻辑或内容可以视情况而定 import com.example.demo.entity.User; import com.example.demo.mapper.UserMapper; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import com.example.demo.service.RedisService;import java.util.List;RestController RequestMapping(/user) public class UserController {private static final Logger logger LoggerFactory.getLogger(UserController.class);Autowiredprivate UserMapper userMapper;Autowiredprivate RedisService redisService;PostMapping(/addTest)public void addTest(RequestBody User user) throws Exception {//todo 该功能的状态校验//1.判断该用户在redis是否存在if (!redisService.lock(addUser, String.valueOf(System.currentTimeMillis()), 15L)) {throw new Exception(正在操作中);}try {//2.逻辑处理User user1 userMapper.queryByName(user.getName());if (user1 ! null) {throw new Exception(该用户 user.getName() 已存在);}for (int i 0; i 1000; i) {for (int j 0; j 1000; j) {logger.info(i*j{}, i * j);}}userMapper.add(user);} catch (Exception e) {redisService.deleteStr(addUser);throw e;} finally {redisService.unlock(addUser);}} }测试结果 一用户信息操作结果 另一用户操作结果 等待2分钟该用户继续操作该数据会提示“该用户已存在”
http://www.dnsts.com.cn/news/111987.html

相关文章:

  • wordpress福利网站源码电子商务论文
  • 怎么可以找到做公益的网站wordpress搬家后图片打不开
  • 产品发布网站模板找外包做网站不给代码
  • 静态网站做等级保护html5 网站布局应用教程
  • 电子商务网站建设要多少钱制作网页总结
  • 高碑店做网站的公司手机多少钱
  • 网站模板库官网建行手机银行app下载官网
  • 重庆做网站公司有哪些怎么在网站中做弹窗广告
  • 建设网站的成本有哪些网站建设待遇怎样
  • php网站开发需要多久网站的目标定位有哪些
  • 网站开发汇报ppt单位不能建设网站
  • 洛阳网站建设培训学校c 网站建设报告
  • 初中学习网站大全免费工程建设定额
  • 电子商务网站建设课程广州安全教育平台登录入口账号
  • 网站设计如何收费南宁建设网站培训
  • 上海网站建设维护百度权重1
  • 网上开的公司网站打不开网络服务器租用
  • 政务网站建设的重要性静态网站建设的主要技术
  • 做网站审批号必须要目前在哪个平台做推广好
  • 域名备案 填写网站信息开发小程序教程
  • 东莞商城网站建设公司wordpress 判断登录页面跳转
  • 卖挂的网站怎么做单页网站建设服务好的商家
  • 太原建设网站的公司圣都家装公司简介
  • 亚马逊卖家做自己网站时光捕手 wordpress
  • 抚州做网站价格多少优秀的网页设计案例
  • 绵阳公司网站建设网站如何防止攻击
  • 建设网站需要分析什么专业免费网站建设哪里便宜
  • 企业如何建设自己的网站深圳网站搜索引擎优化
  • 做家政网站公司wordpress支持windows
  • 南通市规划建设局网站莱州网页