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

手机网站建设多少钱seo实战指导

手机网站建设多少钱,seo实战指导,html教程软件,旅游网站建设内容1、select for update 的基本语法 SELECT * FROM table_name WHERE condition FOR UPDATE;2、select for update 的定义及作用 2.1 、select for update的含义是在查询数据的同时对所选的数据行进行锁定#xff0c;以保证数据的一致性和并发控制。在并发环境下#xff0c;多…1、select for update 的基本语法 SELECT * FROM table_name WHERE condition FOR UPDATE;2、select for update 的定义及作用 2.1 、select for update的含义是在查询数据的同时对所选的数据行进行锁定以保证数据的一致性和并发控制。在并发环境下多个事务可能同时对同一数据进行读取和修改。如果不加任何锁机制就会出现脏数据的情况即一个事务读取了另一个事务尚未提交的数据导致数据不一致。 2.2、通过使用select for update我们可以在查询数据的同时对所选的数据行进行锁定确保其他事务无法对这些数据行进行修改。这种加锁机制可以有效地避免脏数据的问题保证数据的一致性。 3、基于select for update 实现数据库分布式锁 注意事项 select for update 必须在事务中才会生效。该语法适用于mysql的innodb 数据库引擎。 java实现 package com.monika.main.system.lock.impl;import com.monika.main.system.lock.Lock; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.dao.DataAccessException; import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.jdbc.core.ResultSetExtractor; import org.springframework.stereotype.Component; import org.springframework.transaction.support.TransactionTemplate; import org.springframework.beans.factory.InitializingBean; import java.sql.ResultSet; import java.sql.SQLException; import java.util.HashMap; import java.util.Map;/*** author:whh* date: 2024-05-11 18:47* p/p*/Component public class JdbcRowLock implements Lock,InitializingBean {private static final Logger LOG LoggerFactory.getLogger(JdbcRowLock.class);private static final String LOCK_NAME JDBC_LOCK_NAME;private static final int LOCK 1;private static final int UNLOCK 0;private static final String SELECT_SQL select lock_name,lock_status from tb_lock where lock_name ? for update;private static final String UPDATE_SQL update tb_lock set lock_status ? where lock_name ?;private JdbcTemplate jdbcTemplate;/*** 事务*/private TransactionTemplate transactionTemplate;Overridepublic boolean lock() {Boolean lock transactionTemplate.execute(action - {MapString, Object result jdbcTemplate.queryForMap(SELECT_SQL, LOCK_NAME);int lockStatus (int) result.get(lock_status);if (LOCK lockStatus) {LOG.info(线程{}获取锁[{}]失败当前锁已被占用, Thread.currentThread().getName(), LOCK_NAME);return false;}jdbcTemplate.update(UPDATE_SQL, ps - {ps.setInt(1, LOCK);ps.setString(2, LOCK_NAME);});LOG.info(线程{}获取锁[{}]成功, Thread.currentThread().getName(), LOCK_NAME);return true;});return lock;}Overridepublic void unlock() {jdbcTemplate.update(UPDATE_SQL, ps - {ps.setInt(1, UNLOCK);ps.setString(2, LOCK_NAME);});LOG.info(线程{}释放锁[{}]成功, Thread.currentThread().getName(), LOCK_NAME);}Overridepublic void interrupt() {jdbcTemplate.update(UPDATE_SQL, ps - {ps.setInt(1, UNLOCK);ps.setString(2, LOCK_NAME);});}/** * 初始化时重置状态锁 */Overridepublic void afterPropertiesSet()throws Exception{jdbcTemplate.update(UPDATE_SQL, ps - {ps.setInt(1, UNLOCK);ps.setString(2, LOCK_NAME);});}Autowiredpublic JdbcRowLock(JdbcTemplate jdbcTemplate, TransactionTemplate transactionTemplate) {this.jdbcTemplate jdbcTemplate;this.transactionTemplate transactionTemplate;} }
http://www.w-s-a.com/news/6884/

相关文章:

  • 论坛网站开发费用怎么把文件放到网站的根目录
  • 海南省零售户电商网站官渡区住房和城乡建设局网站
  • 怎么找淘宝客网站最新军事战况
  • 缺乏门户网站建设网页设计与制作项目教程第二版
  • 手机网站横竖屏一般做建设的是什么公司
  • 免费网站建设无广告网站开发 华景新城
  • 湖州网站制作报价西安网站开发有哪些公司
  • google 浏览器开源seo软件
  • 网站空间是什么意思自己怎样建设网站
  • 国外家装设计网站如何做软件开发
  • 凡科建站登录官网当当网网站建设策划书
  • 网站百度屏蔽关键词杭州排名优化公司
  • h5响应式网站模板下载wordpress鼠标指针
  • 摄影作品投稿网站目前最好的引流推广方法
  • 资源站源码永久dede网站搬家 空间转移的方法
  • 网站建设销售的技巧话语it培训机构
  • 自建本地网站服务器wordpress南充房产网最新楼盘最近房价
  • 郑州代做网站天津哪里能做网站
  • 网站如何做排名网站建设项目的工作分解
  • 洛阳网络建站公司网站开发主流语言
  • 广州各区正在进一步优化以下措施seo值是什么意思
  • 滨州建网站公司京东云 wordpress
  • 网站视频背景怎么做免费的网络推广有哪些
  • 申请网站怎样申请广西壮族自治区专升本业务系统
  • 写作网站哪个网站做ic外单好
  • 苏州和城乡建设局网站撸撸撸做最好的导航网站
  • 网站被同行抄袭怎么办深圳中装建设集团
  • 建站及推广瓦房店 网站建设
  • 怎么查网站是在哪里备案的广州电力建设有限公司网站
  • 做网站自己申请域名还是对方wordpress管理地址