1.volatile
volatile用于修饰属性,可以:
1)禁止指令重排序。
2)保证多线程之间可见性(一个线程对这个变量的值修改后,其它的线程立刻可见)。
3)但不保证原子性。
private static volatile JedisPool jedisPool;
2.连接池创建
//1.1连接池配置(可选具体配置多少由业务决定)
JedisPoolConfig config = new JedisPoolConfig();
//上一行创建对象过程分析(理论上是如下这个步骤,但是JVM内部会有指令重排序)
//1.分配内存
//2.属性初始化
//3.调用构造方法
//4.为jedisPool变量赋值
config.setMaxTotal(128);
config.setMaxIdle(16);
//1.2创建连接池(将来这个池在内存中有一份就够了)
jedisPool = new JedisPool(config, "192.168.126.129", 6379);
3.jedis.expire方法
jedis.expire(token, 2); //expire是设置redis过期时间的命令,second