1. 程式人生 > >Redis 的 java 客戶端 jedis

Redis 的 java 客戶端 jedis

Java 連線 MySql 我們有 mysql-connector ,連線 Redis 我們有 jedis。

一、引入依賴

<dependency>
    <groupId>redis.clients</groupId>
    <artifactId>jedis</artifactId>
    <version>2.9.0</version>
</dependency>

對應的是這兩個 jar 包:

這裡寫圖片描述

二、關閉 Redis 伺服器端的防火牆

  • Ubuntu:ufw disable

  • CentOS:/etc/init.d/iptables start

三、修改Redis 的配置檔案

修改 redis 配置檔案中繫結的 ip 為虛擬機器所佔用的 ip地址:

這裡寫圖片描述

四、使用 Jedis 提供的 API

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")); Set<String> sets = 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(); } }