Jedis的使用
什么是Jedis?
一款Java操作redis資料庫的工具
使用步驟
1.下載redis所需的java包
2.使用步驟
import org.junit.Test;
public class Jedis {
@Test
public void test1(){
//獲取連接
//如果使用空參構造,默認值 "localhost",6379埠
redis.clients.jedis.Jedis jedis = new redis.clients.jedis.Jedis();
//設定資料
jedis.set("name","zhangsna");
//關閉連接
jedis.close();
}
}
Jedis操作不同的redis中的資料結構
1.字串
設定:set
獲取:get
import org.junit.Test;
public class Jedis {
@Test
public void test1(){
//獲取連接
redis.clients.jedis.Jedis jedis = new redis.clients.jedis.Jedis();
//設定資料
jedis.set("name","zhangsna");
//獲取引數
String name = jedis.get("name");;
//關閉連接
jedis.close();
}
}
2.hash型別:map格式
import org.junit.Test;
import java.util.Map;
public class Jedis {
@Test
public void test1(){
//獲取連接
//如果使用空參構造默認是localhost,3670埠
redis.clients.jedis.Jedis jedis = new redis.clients.jedis.Jedis();
//設定資料
jedis.hset("user","name","zhangsan");
jedis.hset("user","id","13");
//獲取資料
jedis.hget("user","name");
//獲取全部資料
Map<String, String> user = jedis.hgetAll("user");
//關閉連接
jedis.close();
}
}
3.串列型別list
import org.junit.Test;
public class Jedis {
@Test
public void test1(){
//獲取連接
//如果使用空參構造默認是localhost,3670埠
redis.clients.jedis.Jedis jedis = new redis.clients.jedis.Jedis();
//設定資料
//左邊添加資料
jedis.lpush("list","a");
//右邊添加資料
jedis.rpush("list","b");
//獲取指定范圍內的資料
jedis.lrange("list" ,0,-1);
//移除最右邊的資料并回傳值
String list = jedis.rpop("list");
//移除最左邊的資料并回傳值
String list1 = jedis.lpop("list");
//關閉連接
jedis.close();
}
}
4.集合型別:set 不允許重復元素
import org.junit.Test;
import java.util.Set;
public class Jedis {
@Test
public void test1(){
//獲取連接
//如果使用空參構造默認是localhost,3670埠
redis.clients.jedis.Jedis jedis = new redis.clients.jedis.Jedis();
//設定資料
jedis.sadd("set","a");
jedis.sadd("set","b");
//獲取集合中的全部資料
Set<String> set = jedis.smembers("set");
//移除集合中的指定資料
jedis.srem("a");
//關閉連接
jedis.close();
}
}
5.有序集合型別:sortedset 不允許重復元素,且集合有序
import org.junit.Test;
import java.util.Set;
public class Jedis {
@Test
public void test1(){
//獲取連接
//如果使用空參構造默認是localhost,3670埠
redis.clients.jedis.Jedis jedis = new redis.clients.jedis.Jedis();
//設定資料
jedis.zadd("sortedset",2,"a");
jedis.zadd("sortedset",1,"b");
//獲取集合中的全部資料
jedis.zrange("sortedset",0,-1);
//移除集合中的指定資料
jedis.zrem("sortedset", "a");
//關閉連接
jedis.close();
}
}
Jedis連接池技術
import org.junit.Test;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;
public class Jedis {
@Test
public void test1(){
//創建一個配置物件
JedisPoolConfig jedisPoolConfig = new JedisPoolConfig();
//設定引數
//最大空閑數
jedisPoolConfig.setMaxIdle(50);
//最大連接數
jedisPoolConfig.setMaxTotal(50);
//創建資料庫連接池物件
JedisPool pool= new JedisPool(jedisPoolConfig, "localhost", 6379);
//獲取連接
redis.clients.jedis.Jedis resource = pool.getResource();
//使用
resource.set("username","zhangsan");
//歸還連接到資料庫連接池
resource.close();
}
}
使用工具類創建資料庫連接池
組態檔資訊(放在src目錄下)
host:127.0.0.1
port:6379
maxTotal:50
maxIdle:10
工具類代碼
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;
public class JedisUtil {
private static JedisPool jedisPool;
//使用靜態代碼塊加載組態檔
static {
//讀取組態檔
InputStream resourceAsStream = JedisUtil.class.getClassLoader().getResourceAsStream("jedis.properties");
//創建properties物件
Properties properties = new Properties();
//關聯檔案
try {
properties.load(resourceAsStream);
} catch (IOException e) {
e.printStackTrace();
}
//創建組態檔物件
JedisPoolConfig jedisPoolConfig = new JedisPoolConfig();
jedisPoolConfig.setMaxTotal(Integer.parseInt(properties.getProperty("maxTotal")));
jedisPoolConfig.setMaxIdle(Integer.parseInt("maxIdle"));
//初始化jedispool
jedisPool=new JedisPool(jedisPoolConfig,properties.getProperty("host"),Integer.parseInt(properties.getProperty("port")));
}
//獲取連接
public static JedisPool getJedisPool(){
return jedisPool;
}
}
測驗類代碼
import org.junit.Test;
import redis.clients.jedis.JedisPool;
public class Jedis {
@Test
public void test1(){
//使用工具類獲取連接池
JedisPool jedisPool = JedisUtil.getJedisPool();
//獲取連接
redis.clients.jedis.Jedis resource = jedisPool.getResource();
//使用連接操作
resource.set("name", "zhangsan");
//歸還連接
}
}
以上就是jedis的一些基礎操作及怎么使用jedis連接池,這也是我JAVA redis系列的第三篇,后面我會繼續更新,寫作不易,請各位老鐵點個贊支持一下,覺得有幫助的也可以收藏呀,我會經常更新文章,也可以關注我呀

轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/1122.html
標籤:NoSQL
