jedis的使用

  jedis作为Java语言连接redis的客户端,使我们项目中操作redis更加方便

一、jedis概述

二、jedis使用

1、创建jedis的Maven项目

2、导入依赖

3、示例代码

(1)简单示例

 1   public static void main(String[] args) {
 2         // 构造jedis对象
 3         Jedis jedis = new Jedis("127.0.0.1", 6379);
 4         // 向redis中添加数据
 5         jedis.set("mytest", "123");
 6         // 从redis中读取数据
 7         String value = jedis.get("mytest");
 8 
 9         System.out.println(value);
10         // 关闭连接
11         jedis.close();
12 
13     }

(2)连接池的使用

 1   public static void main(String[] args) {
 2         // 构建连接池配置信息
 3         JedisPoolConfig jedisPoolConfig = new JedisPoolConfig();
 4         // 设置最大连接数
 5         jedisPoolConfig.setMaxTotal(50);
 6 
 7         // 构建连接池
 8         JedisPool jedisPool = new JedisPool(jedisPoolConfig, "127.0.0.1", 6379);
 9 
10         // 从连接池中获取连接
11         Jedis jedis = jedisPool.getResource();
12 
13         // 读取数据
14         System.out.println(jedis.get("mytest"));
15 
16         // 将连接还回到连接池中
17         jedisPool.returnResource(jedis);
18 
19         // 释放连接池
20         jedisPool.close();
21 
22     }

(3)分片式集群使用

注意:这里的分片式集群,并不是在两个服务上存储多份相同的数据,而是缓存数据根据key的hash值分别存储在不同的服务器上,获取数据的时候也是根据key的hash值进行获取的。

 1     public static void main(String[] args) {
 2         // 构建连接池配置信息
 3         JedisPoolConfig poolConfig = new JedisPoolConfig();
 4         // 设置最大连接数
 5         poolConfig.setMaxTotal(50);
 6 
 7         // 定义集群信息
 8         List<JedisShardInfo> shards = new ArrayList<JedisShardInfo>();
 9         shards.add(new JedisShardInfo("127.0.0.1", 6379));
10 
11         // 定义集群连接池
12         ShardedJedisPool shardedJedisPool = new ShardedJedisPool(poolConfig, shards);
13         ShardedJedis shardedJedis = null;
14         try {
15             // 从连接池中获取到jedis分片对象
16             shardedJedis = shardedJedisPool.getResource();
17 
18             // 从redis中获取数据
19             String value = shardedJedis.get("mytest");
20             System.out.println(value);
21         } catch (Exception e) {
22             e.printStackTrace();
23         } finally {
24             if (null != shardedJedis) {
25                 // 关闭,检测连接是否有效,有效则放回到连接池中,无效则重置状态
26                 shardedJedis.close();
27             }
28         }
29 
30         // 关闭连接池
31         shardedJedisPool.close();
32 
33     }

 

posted @ 2019-02-25 22:16  ssc在路上  阅读(797)  评论(0编辑  收藏  举报