Java 连接 MySql 我们有 mysql-connector ,连接 Redis 我们有 jedis。
redis.clients jedis 2.9.0
对应的是这两个 jar 包:
Ubuntu:ufw disable
CentOS:/etc/init.d/iptables start
修改 redis 配置文件中绑定的 ip 为虚拟机所占用的 ip地址:
package com.qjl.pems.test; import java.util.Set; import org.junit.Test; import redis.clients.jedis.Jedis; import redis.clients.jedis.Transaction; /** * 类描述:测试Redis的客户端Jedis * 全限定性类名: com.qjl.pems.test.JedisTest * @author 曲健磊 * @date 2018年8月15日上午8:18:19 * @version V1.0 */ public class JedisTest { /** * 测试与redis的连通性 */ @Test public void testPing() { Jedis jedis = new Jedis("192.168.198.130", 6379); System.out.println(jedis.ping()); jedis.close(); } /** * 测试redis常用api */ @Test public void testRedisAPI() { Jedis jedis = new Jedis("192.168.198.130", 6379); // String info = jedis.info("replication"); // System.out.println(info); jedis.set("k1", "v1"); jedis.set("k2", "v2"); jedis.set("k3", "v3"); System.out.println(jedis.get("k2")); Setsets = jedis.keys("*"); System.out.println(sets.size()); jedis.close(); } /** * 演示主从复制 */ @Test public void testMasterSlave() { Jedis jedisM = new Jedis("192.168.198.130", 6379); Jedis jedisS = new Jedis("192.168.198.130", 6380); jedisS.slaveof("192.168.198.130", 6379); jedisM.set("name", "qujianlei"); String result = jedisS.get("name"); System.out.println(result); jedisM.close(); jedisS.close(); } /** * 演示事务 */ @Test public void testTransaction() { Jedis jedis = new Jedis("192.168.198.130", 6379); jedis.set("balanceA", "100"); // A账户可用余额 jedis.set("balanceB", "220"); // B账户可用余额 // 互斥锁(锁key) jedis.watch("balanceA"); System.out.println("=====开始转账 A-->B 50 ====="); Transaction tx = jedis.multi(); tx.decrBy("balanceA", 50); tx.incrBy("balanceB", 50); tx.exec(); System.out.println("=====转账结束====="); // 解锁全部被watch的key jedis.unwatch(); System.out.println("======开始取款====="); System.out.println("A账户可用余额:" + jedis.get("balanceA")); System.out.println("B账户可用余额:" + jedis.get("balanceB")); jedis.close(); } }