Redis入門(九) Jedis的基本使用

2022-09-08 03:39:10 字數 3701 閱讀 1503

redis入門(九)——jedis的基本使用

目錄1.jedis簡介與安裝

jedis簡介:

jedis client是redis官網推薦的乙個面向j**a客戶端,庫檔案實現了對redis各類api進行封裝呼叫。

jedis的安裝:

j**a操作redis之前,首先需要確保已經安裝了 redis 服務及 j**a redis 驅動。並開啟redis服務。

下面我們來寫乙個測試程式測試jedis是否可以正常使用。測試**如下:

package

com.zyl.demo.jedisdemo;

import

junit.framework.testcase;

import

redis.clients.jedis.jedis;

public

class jedistest extends

testcase

}

此時可見程式最後輸出pong。表示我們已經成功連上redis服務。接下來可以通過j**a**操作redis資料庫了。

2.jedis的常用api

使用jedis操作redis資料庫跟直接操作redis的方式相同。下面的**使用其中部分命令。(本程式中採用了testng測試框架)

package

com.zyl.demo.jedisdemo;

import

org.testng.annotations.test;

import

redis.clients.jedis.jedis;

import

org.testng.annotations.beforesuite;

import

j**a.util.hashmap;

import

j**a.util.list;

import

j**a.util.map;

import

org.testng.annotations.aftersuite;

public

class

jedisapitest

/*** jedis操作list

*/@test

public

void

testlist()

/*** jedis操作map

*/@test

public

void

testmap()

/*** jedis操作map

*/public

void

testset()

/*** jedis操作map

*/@test

public

void

testzset()

@beforesuite

public

void

beforesuite()

@aftersuite

public

void

aftersuite()

}

相應的輸出結果如下

3.jedis事物

package com.zyl.demo.jedisdemo;

import j**a.util.arraylist;

import j**a.util.list;

import redis.clients.jedis.jedis;

import redis.clients.jedis.transaction;

public class testtx else

balance = integer.parseint(jedis.get("balance"));

debt = integer.parseint(jedis.get("debt"));

system.out.println("balance:"+integer.parseint(jedis.get("balance")));

system.out.println("debt:"+integer.parseint(jedis.get("debt")));

}}catch( exception e) finally

system.out.println("your account costs ¥10");

return true;            

}public static void main(string args) throws interruptedexception

}

4. jedis連線池

jedis的連線池類似於j**a中的執行緒池。它的作用也類似於執行緒池,在保證併發的同時盡量提高效能。

jedis連線資源的建立與銷毀是很消耗程式效能,所以jedis為我們提供了jedis的池化技術

jedispool在建立時初始化一些連線資源儲存到連線池中,使用jedis連線資源時不需要建立,

而是從連線池中獲取乙個資源進行redis的操作,使用完畢後,不需要銷毀該jedis連線資源,

而是將該資源歸還給連線池,供其他請求使用。

下面通過乙個簡單的程式說明jedis連線池的使用。首先利用單例模式來寫乙個獲取jedis池的工具類。

package

com.zyl.demo.jedisdemo;

import

redis.clients.jedis.jedis;

import

redis.clients.jedis.jedispool;

import

redis.clients.jedis.jedispoolconfig;

public

class

jedispooluitl

public

static

jedispool getjedispoolinstance()

}

}return

jedispool;

}public

static

void release(final jedis jedis) }}

然後通過jedis池新建jedis例項,通過例項往redis寫入資料。

package

com.zyl.demo.jedisdemo;

import

redis.clients.jedis.jedis;

import

redis.clients.jedis.jedispool;

public

class

testjedispool

system.out.println("aa:"+jedis.get("aa"));

jedis.set("aa", "bb");

thread.sleep(2000);//

暫停兩秒。保證資料已經成功寫入redis

system.out.println("aa:"+jedis.get("aa"));

} catch

(exception e)

finally}}

redis中的jedis的使用

連線redis redis的預設埠是6379 jedis jedis new jedis localhost 6379 驗證密碼,如果沒有設定密碼這段 省略 jedis.auth password jedis.connect 連線 jedis.disconnect 斷開連線 setkeys jedi...

Jedis對於Redis的使用(一)

首先建立乙個redisconfig類,用來操作redis的各種引數 public class redisconfig 然後寫乙個工具類做對jedis的簡單封裝 public class jedisutil private static class redisutilholder public sta...

Redis的Java客戶端Jedis

commons pool 1.6.jar jedis 2.1.0.jar 用windows中的eclipse連線虛擬機器的redis的注意事項 禁用linux的防火牆 linux裡執行命令 service iptables stop redis.conf中注釋掉 bind 127.0.0.1 然後 ...