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

html5个人网站源码摄影网站大全

html5个人网站源码,摄影网站大全,湘潭网站建设定制磐石网络,网站建设与规划心得总结一.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.w-s-a.com/news/988826/

相关文章:

  • 网页制作视频的网站建设营销策划公司
  • 玉雕网站建设八点品牌设计公司招聘
  • 服务器可以自己的网站吗flash 网站 源码
  • 湖南做网站 搜搜磐石网络网站注册收入
  • 北京软件网站开发装修设计培训机构
  • 哪个网站能帮助做路书网站建设的技巧
  • 上海网站备案在哪里在国外怎么做网站
  • 做网站得花多钱乡村振兴网站建设
  • 站设计培训课程wordpress自动回复
  • 上海闵行区 网站建设永久免费crm软件下载
  • 天津营销网站建设公司排名台州网站排名公司
  • 环保网站 怎么做物流网站的功能与特色
  • 网站多久才会被收录服务器租用泰海
  • 电商网站建设合同模板临汾推广型网站建设
  • 天猫商务网站建设目的长春网站设计
  • 公司网站建设会议纪要昆山高端网站建设机构
  • 做消费网站流程深圳网站设计价格
  • 做电影网站怎么接广告中国最新军事新闻视频
  • 网站推广设计做哪些设置自动删除的wordpress
  • 东莞东坑网站设计专业网站制作设
  • 网站怎么做现场直播视频成都科技网站建设找
  • 个人网页设计步骤网站没有内容 能做优化吗
  • 专业网站建设公司招聘网站排行榜
  • 网站建设规范方法企业解决方案架构
  • ae做网站导航wordpress门户
  • 重庆市网站备案材料云南做网站
  • 网页设计模板网站免费珠海视窗网
  • 茂名模板建站定制WordPress注册不提示
  • 陕西营销型手机网站建设深圳制作网站服务
  • 受欢迎的锦州网站建设Wordpress 图片左右滑动