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

昆明网站建设优化企业企业网站设计哪个好

昆明网站建设优化企业,企业网站设计哪个好,wordpress英文写作插件,人力资源外包收费标准一.redis的发布订阅 什么 是发布和订阅 Redis 发布订阅 (pub/sub) 是一种消息通信模式#xff1a;发送者 (pub) 发送消息#xff0c;订阅者 (sub) 接收消息。 Redis 客户端可以订阅任意数量的频道。 Redis的发布和订阅 客户端订阅频道发布的消息 频道发布消息 订阅者就可…一.redis的发布订阅 什么 是发布和订阅 Redis 发布订阅 (pub/sub) 是一种消息通信模式发送者 (pub) 发送消息订阅者 (sub) 接收消息。 Redis 客户端可以订阅任意数量的频道。 Redis的发布和订阅 客户端订阅频道发布的消息 频道发布消息 订阅者就可以收到消息 发布订阅的代码实现 1、 打开一个客户端订阅channel1 SUBSCRIBE channel1 2、打开另一个客户端给channel1发布消息hi 返回的1是订阅者数量 3、打开第一个客户端可以看到发送的消息 二.Redis事务 1.事务简介 可以一次执行多个命令本质是一组命令的集合。一个事务中的 所有命令都会序列化按顺序地串行化执行而不会被其它命令插入不许加塞。 单独的隔离的操作 官网说明 https://redis.io/docs/interact/transactions/ MULTI、EXEC、DISCARD、WATCH。这四个指令构成了 redis 事务处理的基础。 1.MULTI 用来组装一个事务将命令存放到一个队列里面 2.EXEC 用来执行一个事务//commit 3.DISCARD 用来取消一个事务//rollback 4.WATCH 用来监视一些 key一旦这些 key 在事务执行之前被改变则取消事务的执行。 例子 有关事务经常会遇到的是两类错误 1.调用 EXEC 之前的错误 “调用 EXEC 之前的错误”有可能是由于语法有误导致的也可能时由于内存不足导致的。只要出现某个命令无法成功写入缓冲队列的情况redis 都会进行记录在客户端调用 EXEC 时redis 会拒绝执行这一事务 2.调用 EXEC 之后的错误 而对于“调用 EXEC 之后的错误”redis 则采取了完全不同的策略即 redis 不会理睬这些错误而是继续向下执行事务中的其他命令。这是因为对于应用层面的错误并不是 redis 自身需要考虑和处理的问题所以一个事务中如果某一条命令执行失败并不会影响接下来的其他命令的执行例子。 2.redis事务冲突 双十一去购物的时候使用同一张银行卡去付款 10000 一个请求想给金额减8000 一个请求想给金额减5000 一个请求想给金额减1000 解决方案 悲观锁 select * from biao where 11 for update 悲观锁(Pessimistic Lock), 顾名思义就是很悲观 每次去拿数据的时候都认为别人会修改所以每次在拿数据的时候都会上锁 这样别人想拿这个数据就会block直到它拿到锁。 传统的关系型数据库里边就用到了很多这种锁机制 比如行锁表锁等读锁写锁等都是在做操作之前先上锁。 12306抢票 乐观锁 version 1 查余额 10000 version1 100008000 -8000 update uuuu set moner-8000 where version1 1.1 10000 -5000 UPDATE uuuuu SET MONTY-5000 WHERE VERSION1 2000 20001000 UPDATE uuuu SET MONTY-1000 WHERE VERSION1.1 1.2 version select * from ttt where uid 1 version money 1 10000 乐观锁(Optimistic Lock), 顾名思义就是很乐观 每次去拿数据的时候都认为别人不会修改所以不会上锁 但是在更新的时候会判断一下在此期间别人有没有去更新这个数据 可以使用版本号等机制。乐观锁适用于多读的应用类型 这样可以提高吞吐量。Redis就是利用这种check-and-set机制实现事务的。 3.WATCH “WATCH”可以帮我们实现类似于“乐观锁”的效果即 CAScheck and set。 WATCH 本身的作用是“监视 key 是否被改动过”而且支持同时监视多个 key只要还没真正触发事务WATCH 都会尽职尽责的监视一旦发现某个 key 被修改了在执行 EXEC 时就会返回 nil表示事务无法触发。 代码如下: 事物回滚? 三.Redis的使用 java操作redis 1.创建java项目 2.添加redis的依赖 dependencygroupIdredis.clients/groupIdartifactIdjedis/artifactIdversion3.2.0/version /dependency 3.相关API key的api string-api hash-api set-api zset-api list-api 2.redis整合springboot 1.创建springboot项目 过程略 2.加入redis的依赖 project xmlnshttp://maven.apache.org/POM/4.0.0 xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsdmodelVersion4.0.0/modelVersionparentgroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-parent/artifactIdversion2.7.12/version/parentgroupIdorg.example/groupIdartifactIdredis-1/artifactIdversion1.0-SNAPSHOT/versionpackagingjar/packagingnameredis-1/nameurlhttp://maven.apache.org/urlpropertiesproject.build.sourceEncodingUTF-8/project.build.sourceEncoding/propertiesdependenciesdependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-data-redis/artifactId/dependencydependencygroupIdorg.apache.commons/groupIdartifactIdcommons-pool2/artifactId/dependencydependencygroupIdredis.clients/groupIdartifactIdjedis/artifactIdversion3.2.0/version/dependencydependencygroupIdjunit/groupIdartifactIdjunit/artifactIdversion3.8.1/versionscopetest/scope/dependencydependencygroupIdjunit/groupIdartifactIdjunit/artifactIdversionRELEASE/versionscopetest/scope/dependencydependencygroupIdorg.junit.jupiter/groupIdartifactIdjunit-jupiter/artifactIdversionRELEASE/versionscopetest/scope/dependency/dependencies /project3.编写配置文件 4.设置配置类 注解 EnableCaching开启缓存 Cacheable 标记表示支持缓存 属性value 缓存的名称    必须指定也可以是多个 key缓存的key可以为空 condition缓存条件可以为空返回结果为true才缓存 CachePut 一般用在保存更新方法中使用和Cacheable基本一致 CacheEvict标注在需要清除缓存元素的方法或类上和Cacheable类似。 属性布尔类型allEntries表示是否要清除缓存中所有元素默认为false为true将忽略指定的key boforelnvocation清除操作默认在方法执行后触发方法如果因为抛出异常而未能成功返回时也不会触发清除操作可以改变触发清除操作的时间当我们指定该属性值为true时Spring会在调用该方法之前清除缓存中的指定元素。 查看完成缓存
http://www.dnsts.com.cn/news/15978.html

相关文章:

  • 合肥网站建设合肥做网站代理厦门网站设计公司
  • 简历网站免费更换wordpress主题头部
  • 南宁做网站在哪了360建站系统
  • 无为县做互联网网站外贸网站建设服务商
  • 北京海淀社保网站恒华大厦做网站公司
  • wordpress建站的案例网站里面内外链接如何做
  • 网站 橙色网站添加定位怎么做
  • 国外建设网站用的是什么软件网站反链一般怎么做
  • wordpress修改站名廊坊手机模板建站
  • 自己做网站花钱么wordpress只在首页设置关键词
  • 软件论坛网站有哪些鸿蒙开发语言
  • 如何做网站结构优化陕西建设网网站集群
  • 自己做网站外包网站公司是做什么的
  • 兰州财经大学网站开发与维护wordpress创建文档系统
  • 西城专业网站建设公司哪家好备案时注意网站名称规范
  • 免费发布信息网站大全666wordpress建网店
  • 东莞网站排名提升清远市seo网站设计联系方式
  • 网上购物商城系统er图seo团队
  • 有开源项目做的网站芜湖的网站建设
  • 做问卷网站网站内页布局的不同
  • 网站关键词几个字现在最流行的网站开发工具
  • 晚上睡不着网站2021免费优秀电商设计网站
  • 专门做海报的网站域名查询
  • 网站活动策划怎么做网站动态页面怎么做
  • 看会员视频的网站开发应用商店安全下载
  • 安阳做网站多少钱网站设计大全推荐
  • 网站开发的数据wordpress二次元博客
  • 微信小程序制作免费轻站平台骨干校建设专题网站
  • 做自己的网站有什么用做网站为职业生存不下去
  • 控制台网站宁波公司建站模板