Redis筆記2:Jedis連線池
Jedis是redis的java客戶端。我們可以在java程式設計中使用它來編寫java程式碼訪問Redis服務。
在編寫程式碼之前,需要從
和
下載最新版本的jedis和commons-pool2的jar包,這裡下載的是jedis-2.8.0.jar和commons-pool2-2.0.jar。
如果需要檢視原始碼,需要把jedis-2.8.0-sources.jar和commons-pool2-2.0-sources.jar也一併下載下來。
一、Jedis單連線示例
建立一個JedisTest工程,把上面下載的四個包新增進工程,如下圖所示
建立JedisTest.java檔案,程式碼如下
import redis.clients.jedis.Jedis;
public class JedisTest {
public static void main(String[] args) {
try {
String host = "127.0.0.1";//控制檯顯示訪問地址
int port = 6379;
Jedis jedis = new Jedis(host, port);
//鑑權資訊由使用者名稱:密碼拼接而成
jedis.auth("123456");//instance_id:password
String key = "ping";
String value = "pong";
//select db預設為0
jedis.select(1);
//set一個key
jedis.set(key, value);
System.out.println("Set Key: " + key + ", Value: " + value);
//get 設定進去的key
String getvalue = jedis.get(key);
System.out.println("Get Key: " + key + ", ReturnValue: " + getvalue);
jedis.quit();
jedis.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
執行結果:
Set Key: ping, Value: pong
Get Key: ping, ReturnValue: pong
二、JedisPool連線池示例
將上個例子中main函式的實現程式碼改為:
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;
import java.util.Set;
public class JedisTest {
public static void main(String[] args) {
JedisPoolConfig config = new JedisPoolConfig();
//最大空閒連線數, 應用自己評估,不要超過AliCloudDB for Redis每個例項最大的連線數
config.setMaxIdle(200);
//最大連線數, 應用自己評估,不要超過AliCloudDB for Redis每個例項最大的連線數
config.setMaxTotal(300);
config.setTestOnBorrow(false);
config.setTestOnReturn(false);
String host = "127.0.0.1";
String password = "123456";
JedisPool pool = new JedisPool(config, host, 6379, 3000, password);
Jedis jedis = null;
for(int i = 0; i < 5; i++) {
try {
jedis = pool.getResource();
jedis.set("foo", "bar");
String foobar = jedis.get("foo");
System.out.println(foobar);
jedis.zadd("name", 0, "Zhang San");
jedis.zadd("name", 0, "Li Si");
Set sose = jedis.zrange("name", 0, -1);
System.out.println(sose);
} finally {
if (jedis != null) {
jedis.close();
}
}
}
pool.close();
}
}
執行結果:
bar
[Li Si, Zhang San]
bar
[Li Si, Zhang San]
bar
[Li Si, Zhang San]
bar
[Li Si, Zhang San]
bar
[Li Si, Zhang San]
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29485627/viewspace-1975279/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Jedis使用連線池操作redis叢集Redis
- Java 客戶端 Jedis和JedisPool 連線池Java客戶端
- redis 原始碼分析:Jedis 哨兵模式連線原理Redis原始碼模式
- Jedis連線池究竟是何物|得物技術
- 聊聊jedis連線池對commons-pool的封裝封裝
- Jedis 連線 Redis報JedisConnectionException: java.net.ConnectException: Connection refusedRedisExceptionJava
- 【Azure Redis 快取 Azure Cache For Redis】Redis連線池Redis快取
- java操作redis叢集連線池JavaRedis
- 實現一個redis連線池Redis
- mysql、redis 客戶端連線池MySqlRedis客戶端
- ServiceStack.Redis的原始碼分析(連線與連線池)Redis原始碼
- 解決使用jedis連線是報DENIED Redis is running in protected mode錯誤Redis
- Web - Redis & JedisWebRedis
- jedis操作 redisRedis
- Redis(15) jedisRedis
- 連線池
- MySQL筆記3——內連線/外連線、多表連線MySql筆記
- 解密httpclient,dbcp,jedis,c3p0,druid,okhttp都在使用的連線池技術解密HTTPclientUI
- 深度學習筆記1:池化 全連線 啟用函式 softmax深度學習筆記函式
- Redis學習筆記(Jedis&資料型別&持久化&主從複製)Redis筆記資料型別持久化
- HTTP連線池HTTP
- django連線池Django
- golang開發:類庫篇(二) Redis連線池的使用GolangRedis
- 記錄連線數導致警報失效,連線池少問題
- 使用commons-pool2實現FTP連線池FTP
- Http持久連線與HttpClient連線池HTTPclient
- 連線池和連線數詳解
- redis學習筆記2: Redis資料型別Redis筆記資料型別
- 自定義連線池
- ElasticSearch連線池建立Elasticsearch
- 資料庫連線池-Druid資料庫連線池原始碼解析資料庫UI原始碼
- gRPC學習記錄(六)--客戶端連線池RPC客戶端
- Golang SQL連線池梳理GolangSQL
- Tomcat 的 JDBC 連線池TomcatJDBC
- go 語言連線池Go
- 筆記本怎麼連印表機 筆記本與印表機連線的教程筆記
- MYSQL學習筆記23: 多表查詢(自連線內連線+左右外連線)MySql筆記
- redis驅動-jedis實現1Redis
- 《四 資料庫連線池原始碼》手寫資料庫連線池資料庫原始碼