初识Jedis
文章主要分兩部分,第一部分:簡單分析一些類,第二部分:代碼示例
一、相關(guān)類分析
1、JedisPoolConfig類分析
JedisPoolConfig類是JedisPool的配置類
//最大空閑連接數(shù), 默認8個 config.setMaxIdle(8);//最大連接數(shù), 默認8個 config.setMaxTotal(8);//獲取連接時的最大等待毫秒數(shù)(如果設(shè)置為阻塞時BlockWhenExhausted),如果超時就拋異常, 小于零:阻塞不確定的時間, 默認-1 config.setMaxWaitMillis(-1);//在獲取連接的時候檢查有效性, 默認false config.setTestOnBorrow(false);2、JedisPool(ShardedJedisPool)類分析
Jedis連接池管理類(ShardedJedisPool在使用切片時使用)
//獲取Jedis Jedis getResource()初始化非切片連接池示例
JedisPoolConfig config = new JedisPoolConfig();
config.setMaxTotal(20);
config.setMaxIdle(5);
config.setMaxWaitMillis(1000l);
config.setTestOnBorrow(true);
jedisPool = new JedisPool(config,"127.0.0.1",6379);
初始化切片連接池示例
JedisPoolConfig config = new JedisPoolConfig();
config.setMaxTotal(20);
config.setMaxIdle(5);
config.setMaxWaitMillis(1000l);
config.setTestOnBorrow(true);
List<JedisShardInfo> shards = new ArrayList<JedisShardInfo>();
shards.add(new JedisShardInfo("127.0.0.1", 6379, "master"));
// 構(gòu)造池
shardedJedisPool = new ShardedJedisPool(config, shards);
3、Jedis類
Jedis類是操作redis的核心類
1 //設(shè)置鍵值對 2 String set(final String key, String value) 3 //取鍵值 4 String get(final String key) 5 //判斷鍵是否存在 6 exists(final String... keys) 7 exists(final String key) 8 //刪除鍵值對 9 Long del(final String... keys) 10 Long del(String key) 11 //返回數(shù)據(jù)類型 "none","string", "list", "set" 12 String type(final String key) 13 //模糊匹配鍵(使用?和*匹配) 14 //h?llo will match hello hallo hhllo 15 //h*llo will match hllo heeeello 16 Set<String> keys(final String pattern) 17 //隨機返回一個key 18 String 19 //設(shè)置過期 20 Long expire(final String key, final int seconds)實例化示例:(通過JedisPool獲取)
jedis = jedisPool.getResource();?
4、JedisShardInfo類
JedisShardInfo類是Jedis切片信息類
實例化示例:
?JedisShardInfo shard1 = new JedisShardInfo("127.0.0.1", 6379, "master");
?二、使用Jedis操作String類型數(shù)據(jù)
package com.my.redis.redisTest.test;import java.util.ArrayList; import java.util.List;import redis.clients.jedis.Jedis; import redis.clients.jedis.JedisPool; import redis.clients.jedis.JedisPoolConfig; import redis.clients.jedis.JedisShardInfo; import redis.clients.jedis.ShardedJedis; import redis.clients.jedis.ShardedJedisPool;public class Test1 {private static Jedis jedis;//非切片客戶端連接private JedisPool jedisPool;//非切片連接池private ShardedJedis shardedJedis;//切片客戶端連接private ShardedJedisPool shardedJedisPool;//切片連接池public Test1(){initialPool(); // initialShardedPool(); // shardedJedis = shardedJedisPool.getResource(); jedis = jedisPool.getResource(); }public static void main(String[] args) {Test1 test = new Test1();jedis.set("name", "limouren");System.out.print(jedis.get("name"));jedis.del("name");System.out.print(jedis.get("name"));}/*** @Description: 初始化非切片連接池 * @author lige*/public void initialPool(){JedisPoolConfig config = new JedisPoolConfig();config.setMaxTotal(20);config.setMaxIdle(5); config.setMaxWaitMillis(1000l); config.setTestOnBorrow(true);jedisPool = new JedisPool(config,"127.0.0.1",6379,0,"Abc12345");}/*** @Description: 初始化切片連接池 * @author lige*/public void initialShardedPool(){JedisPoolConfig config = new JedisPoolConfig();config.setMaxTotal(20);config.setMaxIdle(5); config.setMaxWaitMillis(1000l); config.setTestOnBorrow(true);List<JedisShardInfo> shards = new ArrayList<JedisShardInfo>(); shards.add(new JedisShardInfo("127.0.0.1", 6379, "master")); // 構(gòu)造池 shardedJedisPool = new ShardedJedisPool(config, shards); } }?
?
?
轉(zhuǎn)載于:https://www.cnblogs.com/lige-H/p/8126629.html
總結(jié)
- 上一篇: 看不懂简明python教程_简明pyth
- 下一篇: c语言编译器C11,如何检测c11支持编