摘要:
首先,分布式锁和我们平常讲到的锁原理基本一样,目的就是确保在多个线程并发时,只有一个线程在同一刻操作这个业务或者说方法、变量。 在一个进程中,也就是一个jvm或者说应用中,我们很容易去处理控制,在jdk java.util并发包中已经为我们提供了这些方法去加锁,比如synchronized关键字或者 阅读全文
摘要:
背景 数据库的锁是在多线程高并发的情况下用来保证数据稳定性和一致性的一种机制。MySQL 根据底层存储引擎的不同,锁的支持粒度和实现机制也不同。MyISAM 只支持表锁,InnoDB 支持行锁和表锁。目前 MySQL 默认的存储引擎是 InnoDB,这里主要介绍 InnoDB 的锁。 InnoDB 阅读全文
摘要:
SETNX命令(SET if Not eXists) 语法:SETNX key value 功能:原子性操作,当且仅当 key 不存在,将 key 的值设为 value ,并返回1;若给定的 key 已经存在,则 SETNX 不做任何动作,并返回0。 Expire命令 语法:expire(key, 阅读全文
摘要:
一、首先我们来设置IDEA中类的模板:(IDEA中在创建类时会自动给添加注释) 1、File-->settings-->Editor-->File and Code Templates-->Files 我们选择Class文件(当然你要设置接口的还也可以选择Interface文件) (1)${NAME 阅读全文
摘要:
redis内置了发布/订阅功能,可以作为消息机制使用。所以这里主要使用Jedis的Publish/Subscribe功能。 1、使用Spring来配置Jedis连接池 2、编写Lister要使用Jedis的Publish/Subscribe功能,必须编写对JedisPubSub的自己的实现,其中的函 阅读全文
摘要:
redis自2.8.0之后版本提供Keyspace Notifications功能,允许客户订阅Pub / Sub频道,以便以某种方式接收影响Redis数据集的事件。 可能收到的事件的例子如下: 所有影响给定键的命令。 所有接收LPUSH操作的密钥。 所有密钥在数据库中过期0。 因为 Redis 目 阅读全文
摘要:
InitializingBean接口为bean提供了初始化方法的方式,它只包括afterPropertiesSet方法,凡是继承该接口的类,在初始化bean的时候都会执行该方法。 测试,如下: 配置文件 Main函数如下 测试结果为: 这说明在spring初始化bean的时候,如果bean实现了In 阅读全文
摘要:
在vim编辑器,会看到下面的内容 需要开放端口,请在里面添加一条一下内容即可: 其中 1521 是要开放的端口号,然后重新启动linux的防火墙服务。 Linux下停止/启动防火墙服务的命令(root用户使用): 写在最后: 一、service方式 查看防火墙状态: [root@centos6 ~] 阅读全文