JAVA小白的博客

自学JAVA之路

排序:
默认
按更新时间
按访问量

9.Git的使用总结

总结:其实只需要进行下面几步就能把本地项目上传到Github     1、在本地创建一个版本库(即文件夹),通过git init把它变成Git仓库;     2、把项目复制到这个文件夹里面,再通过git add .把项目添加到仓库;     3、再通过git commit -m &quot...

2018-06-11 20:02:26

阅读数:100

评论数:0

4.秒杀模块-分布式加锁问题-基于Zookeeper解决redis和synchronized的加锁问题

并发处理:1.加synchronized锁单线程处理、缺点: 1.处理速度也会很慢  2.只适合单点的情况3.无法做到细粒度控制2.redis分布式锁:1.可以支撑每秒10多万的并发,2.支持分布式,3.可以更细粒的控制代码(多台机器上多个线程对一个数据进行操作的互斥)SETNX key valu...

2018-04-09 12:40:00

阅读数:670

评论数:0

5.秒杀模块-基于redis缓存商品秒杀信息

传入:用户电话即可。实现功能:查询是否有预约:Redis查询,若有则可以秒杀,若没有,则去数据库查询,若有预约,则把信息加入Redis。若没有,则返还没有预约信息。查询商品是否已经加入redis:         如果没有,则直接加入,如时间,库存等。在redis查询是否还有库存:        ...

2018-04-08 00:19:01

阅读数:209

评论数:0

3.秒杀模块-分布式加锁问题-如何利用Redis分布式锁实现控制并发

redis命令解释说道Redis的分布式锁都是通过setNx命令结合getset来实现的,在讲之前我们先了解下setNx和getset的意思,在redis官网是这样解释的 注:redis的命令都是原子操作SETNX key value(加入没有则设置,有则不设置了)将 key 的值设为 value...

2018-04-08 00:17:35

阅读数:428

评论数:0

2.基于redis异步队列模块(Reactor模式)-线程池还是Redis还是Rabbitmq消息队列作为异步处理的选择

什么情况下的异步操作使用消息队列而不是多线程?1.消息队列和多线程两者并不冲突,多线程可以作为队列的生产者和消费者。使用外部的消息队列时,第一是可以提高应用的稳定性,当程序fail后,写入外部消息队列的数据依旧是保存的,如果使用两步commit的队列的话,可以更加提高这个项目。2. 用线程的话,会...

2018-04-06 15:44:03

阅读数:346

评论数:0

1.基于redis异步队列模块(Reactor模式)-生产者消费者模式

生产者消费者模式之Redis实现的消息队列代码原理Redis提供了两种方式来作消息队列。 一个是使用生产者消费模式模式, 另一个就是发布订阅者模式。 前者会让一个或者多个客户端监听消息队列,一旦消息到达,消费者马上消费,谁先抢到算谁的,如果队列里没有消息,则消费者继续监听。 后者也是一个或多个客户...

2018-04-06 15:32:53

阅读数:115

评论数:0

7.登录系统-单点登录问题-分布式session一致性(即session如何共享)的问题

session的概念 什么是session?   服务器为每个用户创建一个会话,存储用户的相关信息,以便多次请求能够定位到同一个上下文。这样,当用户在应用程序的 Web 页之间跳转时,存储在 Session 对象中的变量将不会丢失,而是在整个用户会话中一直存在下去。当用户请求来自应用程序的 Web...

2018-03-31 11:07:48

阅读数:445

评论数:0

6.登录系统-单点登录问题-基于redis的单点登录同步登出与帐号退出的功能设计

今天项目做到了基于redis的单点登录登出设计,所以有必要记录一下。重点知识,面试。涉及到的知识点:token,UUID,userID(模仿微信的扫码登录),cookie,redis等什么是SSOSSO英文全称SingleSign On,单点登录。SSO是在多个应用系统中,用户只需要登录一次就可以...

2018-03-31 09:00:35

阅读数:795

评论数:0

8.利用SpringAOP进行切面编程-利用SpringAOP进行切面编程(登录验证和异常统一处理)

具体做法,就是利用SpringAOP,拦截所有的需要拦截的方法(连接点)行成一个切入点(Pointcut),然后在其前面加入通知(advice就是一些操作),比如我要登录,我的before操作就是查看是否有登录。如果有,就继续执行方法。如果没有,就抛出异常。然后统一拦截异常,进行处理。 下面的例子...

2018-03-28 09:46:48

阅读数:155

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭