- 博客(15)
- 资源 (69)
- 收藏
- 关注
原创 redis分布式锁SET实现 ,避免出现SETNX死锁
SETSET key value [EX seconds] [PX milliseconds] [NX|XX]将字符串值 value 关联到 key 。如果 key 已经持有其他值, SET 就覆写旧值,无视类型。对于某个原本带有生存时间(TTL)的键来说, 当 SET 命令成功在这个键上执行时, 这个键原有的 TTL 将被清除。可选参数从 Redis 2.6.12 版本开始, SET...
2018-09-27 22:43:48 9841 5
原创 Redis 运行 Lua脚本事例
jedis eval 运行lua脚本 String script="local ismeber=redis.call('setnx',KEYS[1],KEYS[1])" +" if (ismeber==0) &am
2018-09-27 18:11:58 767
转载 java内置数据类型
内置数据类型Java语言提供了八种基本类型。六种数字类型(四个整数型,两个浮点型),一种字符类型,还有一种布尔型。byte:byte 数据类型是8位、有符号的,以二进制补码表示的整数;最小值是 -128(-2^7);最大值是 127(2^7-1);默认值是 0;byte 类型用在大型数组中节约空间,主要代替整数,因为 byte 变量占用的空间只有 int 类型的四分之一;例子:by...
2018-09-25 18:55:02 499
转载 创建一个线程安全的Map,数据测试
//Hashtable Example Code Map<String, Integer> threadSafeMap = new Hashtable<String, Integer>(); //synchronizedMap Example Code. threadSafeMap = Collections.s
2018-09-23 20:07:08 912
原创 java基本数据引用不可修改源值,集合引用可修改源值
1,java String Integer等基本数据 引用不可改变原有值,除 原=New2, List Map Set集合 引用可改变原有值import java.util.ArrayList;import java.util.HashMap;import java.util.HashSet;import java.util.List;import java.util.Set;...
2018-09-23 20:04:38 1110
原创 基于redis的高并发秒杀的JAVA-DEMO实现!基于redis watch乐观锁
public static void testWatch() throws Exception { Jedis jedis = null; try { jedis = ConnectionManager.getConnection();//获取jedis连接 String key_s="user_name";//抢到
2018-09-18 19:10:40 7795 5
转载 HashMap基本实现原理
在讨论哈希表之前,我们先大概了解下其他数据结构在新增,查找等基础操作执行性能数组:采用一段连续的存储单元来存储数据。对于指定下标的查找,时间复杂度为O(1);通过给定值进行查找,需要遍历数组,逐一比对给定关键字和数组元素,时间复杂度为O(n),当然,对于有序数组,则可采用二分查找,插值查找,斐波那契查找等方式,可将查找复杂度提高为O(logn);对于一般的插入删除操作,涉及到数组元素的移动,其平...
2018-09-18 11:01:14 296
原创 MYSQL事物sql 简单事例
drop table if exists `runoob_transaction_test`;CREATE TABLE runoob_transaction_test( id int(5)) engine=innodb; # 创建数据表select * from runoob_transaction_test;begin; # 开始事务insert into runoob_trans...
2018-09-17 17:36:07 1229
原创 JedisPoolConfig配置
JedisPoolConfig config = new JedisPoolConfig(); // 连接耗尽时是否阻塞, false报异常,ture阻塞直到超时, 默认true config.setBlockWhenExhausted(true); // 设置的逐出策略类名, 默认DefaultEvictionPolicy(当连...
2018-09-14 11:54:16 1009
原创 基于redis的高并发秒杀的JAVA-DEMO实现!基于incr,incrBy
利用Redis incr,getset 实现 高并发 秒杀抢单Demo 基础思路 /** * 用户下单 判断成功下单数量 */ if (RedisUtil.incr(key_name) <= 100 * 10) { ...
2018-09-13 17:07:54 5679
原创 Redis incr实现原子自增,统计数量,线程安全
Redis Incr 命令将 key 中储存的数字值增一。如果 key 不存在,那么 key 的值会先被初始化为 0 ,然后再执行 INCR 操作。如果值包含错误的类型,或字符串类型的值不能表示为数字,那么返回一个错误。本操作的值限制在 64 位(bit)有符号数字表示之内。原子自增 线程安全 INCR page_view 配合getset实现原子复位 线程安全 getse...
2018-09-12 19:14:22 31247 1
原创 redis分布式锁实现n台服务器跑定时任务,确保只有一台服务器运行
1 使用redis setnx方法实现原子操作 setnx(k,v); //只用到key value用key值即可 不存在 返回 1 存在 返回 0思路 1 任务运行 执行setnx 如果返回1,,则执行任务, 2 各个服务器时间必须一致,确保并发安全! 执行完任务 Thread.sleep(10 * 1000); 堵塞10秒钟 2 之后在fin...
2018-09-11 19:03:26 4706 2
原创 ScheduledExecutorService实现多线程任务调度,替代Timer
主要原因例如以下:Timer不支持多线程。全部挂在Timer下的任务都是单线程的,任务仅仅能串行运行。假设当中一个任务运行时间过长。会影响到其它任务的运行,然后就可能会有各种接踵而来的问题。 Timer的线程不捕获异常。TimerTask假设抛出异常,那么Timer唯一的进程就会挂掉,这样挂在Timer下的全部任务都会无法继续运行。 为了弥补Timer的缺陷,jdk1.5中引...
2018-09-06 16:23:29 1110
原创 liunx redis 设置外网访问
开放端口6379 /sbin/iptables -I INPUT -p tcp --dport 6379 -j ACCEPT/etc/rc.d/init.d/iptables save更改redis.conf 文件更改为 关于127.0.0.1都注释掉# bind 127.0.0.1# bind 127.0.0.1 ::1protected-mode no然后重启red...
2018-09-05 15:41:24 370
归档jdk-15_linux-x64_binrpm.zip
2020-10-15
BlueskyFRC_2.15.4 PotPlayerSetup64软件2合集
2020-05-03
BOOT.CLOVER.zip
2019-11-16
RedisDesktopManager0.9.3.39.zip
2019-11-13
foo_input_monkey.dll
2019-03-02
eclipse-jee-2021-12-R-win32-x86_64
2022-02-08
zabbix-agent-4.0.30-1.el7.x86_64.zip
2022-01-13
zookeeper-3.4.9-liunx.zip
2022-01-13
nginx-1.14.0.zip-liunx
2022-01-13
eclipse-jee-2020-09-R-macosx-cocoa-x86_64.dmg.zip
2020-10-29
mysql-8.0.21-linux-glibc2.12-i686.tar.txt.zip
2020-10-29
mysql-8.0.21-macos10.15-x86_64.dmg.zip
2020-10-29
mysql-5.7.32-winx64.zip.zip
2020-10-29
mysql-5.7.31-macos10.14-x86_64.dmg.zip
2020-10-29
mysql-5.7.31-linux-glibc2.12-i686.tar.gz.zip
2020-10-29
mysql-8.0.21-winx64.zip.zip
2020-10-29
jdk-15_osx-x64_bin (1)dmg.zip
2020-10-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人