前言 日常开发中,秒杀下单、抢红包等等业务场景,都需要用到分布式锁。而Redis非常适合作为分布式锁使用。本文将分七个方案展开,跟大家探讨Redis分布式锁的正确使用方式。如果有不正确的地方,欢迎大家指出哈,一起学习一起进步。 公众号:捡田螺的小男孩 什么是分布式锁 方案一:SETNX + EXPI ...
分类:
其他好文 时间:
2021-03-09 13:12:05
阅读次数:
0
SELECT * FROM information_schema.innodb_trx 命令是用来查看当前运行的所以事务: 在执行结果中可以看到是否有表锁等待或者死锁,如果有死锁发生,可以通过下面的命令来杀掉当前运行的事务: KILL 165667 ; KILL 后面的数字指的是 trx_mysql ...
分类:
数据库 时间:
2021-03-08 13:33:51
阅读次数:
0
一.Java String 类——String字符串常量 String 类型和 StringBuffer 类型的主要性能区别其实在于 String 是不可变的对象, 因此在每次对 String 类型进行改变的时候其实都等同于生成了一个新的 String 对象,然后将指针指向新的 String 对象, ...
分类:
其他好文 时间:
2021-03-08 13:29:54
阅读次数:
0
Java 1.Java的特性和优势 Write Once,Run Anywhere 简单性 面向对象 可移植性 高性能 分布式 动态性 多线程 安全性 健壮性 2.Java的三大版本 JavaSE:标准版(桌面程序,控制台开发……) JavaME:嵌入式开发(手机,小家电……) JavaEE:E企业 ...
分类:
编程语言 时间:
2021-03-08 13:19:58
阅读次数:
0
参考:https://www.cnblogs.com/ngy0217/p/9006716.html 饿汉式(线程安全,调用效率高,但不能延时加载): public class ImageLoader{ private static ImageLoader instance = new ImageLo ...
分类:
编程语言 时间:
2021-03-06 14:58:12
阅读次数:
0
一、进程与线程的区别? 进程是所有线程的集合,每一个线程是进程中的一条执行路径,线程只是一条执行路径。 二、创建线程的三种方式: 继承Thread类创建线程类 实现Runnable接口 通过Callable和Future创建线程 三、创建线程池的四种方式:(参考1) newCachedThreadP ...
分类:
编程语言 时间:
2021-03-06 14:38:29
阅读次数:
0
配置防火墙问题 最近在服务器上部署项目时遇到了用ip访问不了的问题, 在一个纯洁的unbantu环境中 需要先安装防火墙 sudo apt install firewalld 然后启动防火墙 systemctl restart firewalld 我出现了防火墙被锁定的提示 Failed to re ...
分类:
其他好文 时间:
2021-03-06 14:21:48
阅读次数:
0
Stack就是继承Vector的,而我们常常用Deque替代Stack(Deque可以当栈也可以当队列) 不使用Vector及子类原因如下: 1. 因为vector是线程安全的,所以效率低,这容易理解,类似StringBuffer 2. Vector空间满了之后,扩容是一倍,而ArrayList仅仅 ...
分类:
编程语言 时间:
2021-03-06 14:18:29
阅读次数:
0
阅读目录 一.GIL(全局解释器锁) GIL面试题如下 描述Python GIL的概念, 以及它对python多线程的影响?编写一个多线程抓取网页的程序,并阐明多线程抓取程序是否可比单线程性能有提升,并解释原因。 Guido的声明:http://www.artima.com/forums/flat. ...
分类:
编程语言 时间:
2021-03-06 14:14:42
阅读次数:
0
1.sleep和wait之间的差别 2.String和StringBuffer之间的差别 3.单例模式及应用场景 4.Redis应用场景 5.RabbitMQ应用场景 6.悲观锁和乐观锁 7 访问控制符 ...
分类:
其他好文 时间:
2021-03-05 13:17:36
阅读次数:
0