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

深圳网站 建设网站备案表上面的开办单位写什么

深圳网站 建设,网站备案表上面的开办单位写什么,赤峰建设局网站,海口企业网站建设制作哪家专业目录 应用场景 代码实例1#xff1a; 代码实例2#xff1a; setIfAbsent#xff1a; expire#xff1a; 举例说明#xff1a; 代码实例3#xff1a; 代码实例4#xff1a; 还是一个同事问的一个问题#xff0c;然后闲着没事就记录下来了。多人操作同一个保单 代码实例2 setIfAbsent expire 举例说明 代码实例3 代码实例4 还是一个同事问的一个问题然后闲着没事就记录下来了。多人操作同一个保单会出现数据不一致所以呢就准备为此单子加一个锁所以就有了下面的代码。分享给大家 分布式锁的定义大家基本都很了解了具体就是当需要在分布式环境中保证资源的互斥访问或一致性时就可以考虑使用分布式锁。但需要注意的是分布式锁虽然可以解决问题但也会带来一定的性能开销和复杂度因此在使用时需要权衡系统的性能和可维护性以及使用分布式锁所带来的成本和风险。 应用场景 发任务调度在分布式系统中当需要对某个任务进行调度时如果多个节点同时发起任务调度请求可能会导致任务被多次执行。这时可以使用分布式锁来确保只有一个节点能够成功获取到任务调度的锁从而避免任务的重复执行。分布式事务在分布式事务中需要保证不同节点对共享资源的访问是互斥的以防止数据不一致的问题。分布式锁可以用来保证在事务执行过程中各个节点之间对共享资源的访问是互斥的。分布式缓存在分布式缓存中如果多个节点同时对缓存进行访问和修改可能会导致缓存中的数据不一致。这时可以使用分布式锁来确保各个节点对缓存的访问是互斥的。购买限制在电商等场景中如果需要对某个商品的购买数量进行限制当多个用户同时发起购买请求时可以使用分布式锁来确保只有一个用户能够成功获取到购买锁从而避免超卖等问题。 代码实例1 redisTemplate.opsForValue().setIfAbsent(redisLock, uuid, 1000, TimeUnit.SECONDS);这段代码是使用Spring Data Redis的RedisTemplate来执行一个Redis操作。具体来说它尝试在Redis中设置一个键值对但仅当该键不存在时。 详细解释如下 ruleRefreshLock这是要设置的Redis键。uuid这是要设置的Redis值。1000这是值的过期时间单位是毫秒。TimeUnit.SECONDS这是过期时间的单位这里是秒。 setIfAbsent方法的行为如下 如果键ruleRefreshLock在Redis中不存在那么它会设置这个键的值为uuid并给这个键设置一个1000秒的过期时间。此时setIfAbsent方法返回true。如果键ruleRefreshLock在Redis中已经存在那么它不会做任何操作并且setIfAbsent方法返回false。 这个方法通常用于实现分布式锁。在这个例子中你可能想要确保只有一个实例或线程能够获取到ruleRefreshLock这个锁。如果锁已经被其他实例或线程获取即键已经存在那么当前实例或线程就不会再尝试获取锁。如果锁未被获取即键不存在那么当前实例或线程就会获取锁并设置一个过期时间以确保锁最终会被释放。 代码实例2 设置KEY值过期时间 //假设 lockName 是你的锁的名称expireTime 是你希望锁持续的时间以分钟为单位 redisTemplate.expire(lockName, expireTime, TimeUnit.MINUTES); 这段代码是使用 RedisTemplate 来设置 Redis 中某个键的过期时间。这与之前的 setIfAbsent 操作有所不同主要区别如下 setIfAbsent 目的尝试设置一个键值对但仅当该键不存在时。返回值如果键原本不存在且成功设置了键值对返回 true如果键已经存在则不做任何操作并返回 false。用途通常用于实现分布式锁或其他需要原子性设置键值对的场景。 expire 目的为已存在的键设置或更新其过期时间。返回值如果键存在则成功设置或更新过期时间并返回 true如果键不存在则不进行任何操作并返回 false。用途通常用于确保存储在 Redis 中的数据在一段时间后被自动删除以避免内存无限制增长。 举例说明 假设你已经有了一个名为 lockName 的锁并且这个锁已经被某个实例获取即该键在 Redis 中已经存在。你想让这个锁在一段时间后自动释放那么你可以使用 expire 方法来设置锁的过期时间。 代码实例3 redis版本        spring-data-redis-2.7.10.jar Slf4j Component public class redisSchedule implements SchedulingConfigurer {Value(${rule.limit.cron})private String cron;Value(${schedule.rule})private String scheduleRule;Autowiredprivate StringRedisTemplate redisTemplate;Overridepublic void configureTasks(ScheduledTaskRegistrar taskRegistrar) {taskRegistrar.addCronTask(() - {// 分布式锁集群环境只允许一台服务修改定时任务String uuid UUID.randomUUID().toString();Boolean bool redisTemplate.opsForValue().setIfAbsent(redisLock, uuid, 1000, TimeUnit.SECONDS);try {if (bool) {//逻辑代码}} catch (Exception e) {log.error(e.getMessage());} finally {// 释放锁先比对自己锁的值是否相等相等则为自己的锁String script if redis.call(get,KEYS[1]) ARGV[1] then return redis.call(del,KEYS[1]) else return 0 end;redisTemplate.execute(new DefaultRedisScriptLong(script, Long.class), Arrays.asList(redisLock), uuid);}}, cron);} } 代码实例4 redis版本        spring-data-redis-1.8.0.RELEASE.jar //锁的过期时间默认为5分钟 private Long expireTime 5L;try {//多个执行任务去获得锁如果没有获取证明还有任务在执行中那么将不再执行任务Boolean isLock redisTemplate.opsForValue().setIfAbsent(lockName, lock);if (isLock){//获取到锁那么设置过期时间防止死锁this.redisTemplate.expire(lockName, expireTime, TimeUnit.MINUTES);//逻辑代码}else {logger.info(任务执行锁定失败Lock被占用当前分片);throw new Exception(任务执行锁定失败);}} catch (Exception e) {e.printStackTrace();throw new Exception(e.getMessage());} 总结一下setIfAbsent 用于在键不存在时设置键值对并返回操作是否成功的布尔值而 expire 用于设置或更新已存在键的过期时间并返回操作是否成功的布尔值。这两个操作经常一起使用来实现分布式锁其中 setIfAbsent 用于尝试获取锁而 expire 用于设置锁的过期时间以确保锁最终会被释放。两种方式的用法看对应的应用场景来使用
http://www.pierceye.com/news/530325/

相关文章:

  • 潍坊百度网站优化网站建设相关文章
  • 做学术研究的网站怎样建设个人游戏网站
  • dede淘宝客网站网站页面优化简单吗
  • 长春做网站优化的公司赣州做网站公司哪家好
  • 网站开发宝典做网站属于软件开发吗
  • 网站建设要求 优帮云福州模板建站定制网站
  • wordpress本地更换为网站域名jsp网站开发书籍
  • 做一个网站的流程沧州网站建设
  • 山东省城乡住房建设厅网站住房建设部网站监理员
  • 怎么做百度网站验证保健品商城网站模板
  • 丹东市做网站广东做网站的公司
  • 网站收录大全销售推广
  • 网站发展历程东莞企业网站建设制作
  • 厦门市建设局查询保障摇号网站首页做房产网站长
  • 公司网站建设的普遍性长沙建站网
  • 东莞英文建站公司api模式网站开发
  • 参与网站网站建设可判几年大同住房和城乡建设网站
  • 住房和城乡建设部网站投诉电话哈尔滨网页设计网站模板
  • 西安网站制作哪家公司好阳江房产网最新楼盘江楼盘
  • 科技馆网站建设网络营销实务教案
  • 网站上线倒计时html5模板文创产品设计流程
  • 建设项目竣工环保验收公示网站网站建设具体实施方案
  • 蜜淘app在那个网站做的濮阳吧
  • 建网站市场哪家网站开发好
  • 找生产厂家的网站宁波seo运营推广平台排名
  • 淘宝的网站建设的目标昌大建设集团是哪里的
  • 毕业设计h5网站制作较好的网站设计师培训学校
  • 做淘宝券推广的网站有哪些石碣镇做网站
  • 贵阳网站制作免费桂林市工程建设项目招标网站
  • 南昌专业网站排名推广做网站编辑我能力得到提升