前面两篇说过redis的安装使用和密码设置后,现在来看看怎么用java代码连接服务器,并使用redis。

首先项目中需要有redis的驱动包,下载Jedis.jar

下载最新驱动包,放到项目的lib目录下,确保项目包含该驱动包。

如果是maven项目,可以直接在pom.xml文件中引入如下配置:

[html]  view plain  copy

1. <dependency>  
2. <groupId>redis.clients</groupId>  
3. <artifactId>jedis</artifactId>  
4. <version>2.5.2</version>  
5. </dependency>


连接Redis服务:

[java]  view plain  copy

1. public static void main(String[] args){  
2. //连接本地的Redis服务  
3. new Jedis("127.0.0.1", 6379);  
4. "连接成功!");  
5. //密码验证  
6. "123456");  
7. //查看服务是否运行  
8. "服务是否运行:" + jedis.ping());  
9.     }

输出结果如下,连接成功。

[plain]  view plain  copy

  1. 连接成功!  
  2. 服务是否运行:PONG  


String(字符串) 类型实例

[java]  view plain  copy

1. public static void main(String[] args){  
2. //连接本地的Redis服务  
3. new Jedis("127.0.0.1", 6379);  
4. "连接成功!");  
5. //密码验证  
6. "123456");  
7. //设置字符串数据  
8. "myKey", "testStr");  
9. //通过key输出缓存内容  
10. "输出内容为:" + jedis.get("myKey"));  
11.     }

 

输出结果:

[javascript]  
   view plain 
    copy


  1. 连接成功!  
  2. 输出内容为:testStr  


LIst(列表)类型实例

[java]  view plain  copy

1. public static void main(String[] args){  
2. //连接本地的Redis服务  
3. new Jedis("127.0.0.1", 6379);  
4. "连接成功!");  
5. //密码验证  
6. "123456");  
7. //存储List缓存数据  
8. "test-list", "Java");  
9. "test-list", "PHP");  
10. "test-list", "C++");  
11. //获取list缓存数据  
12. "test-list", 0, 3);  
13. for (int i = 0; i < listCache.size(); i++) {  
14. "缓存输出:" + listCache.get(i));  
15.         }  
16.     }


输出结果:

[plain]  view plain  copy

  1. 连接成功!  
  2. 缓存输出:C++  
  3. 缓存输出:PHP  
  4. 缓存输出:Java  

Hash(哈希)类型实例

[java]  view plain  copy

    1. public static void main(String[] args){  
    2. //连接本地的Redis服务  
    3. new Jedis("127.0.0.1", 6379);  
    4. "连接成功!");  
    5. //密码验证  
    6. "123456");  
    7. //存储Hash类型缓存数据  
    8. new HashMap<String, String>();  
    9. "xiaoming", "man");  
    10. "xiaohua", "women");  
    11. "xiaoma", "man");  
    12. "test-hash", hashMap);  
    13. //获取hash类型缓存数据  
    14. "test-hash");  
    15. "获取hash缓存数据(xiaoming):"+hashData.get("xiaoming"));  
    16. "获取hash缓存数据(xiaohua):"+hashData.get("xiaohua"));  
    17. "获取hash缓存数据(xiaoma):"+hashData.get("xiaoma"));  
    18.     }


    输出结果:

    [plain]  
       view plain 
        copy


    1. 连接成功!  
    2. 获取hash缓存数据(xiaoming):man  
    3. 获取hash缓存数据(xiaohua):women  
    4. 获取hash缓存数据(xiaoma):man  


    Set(无序,不重复集合) 类型实例

    [java]  view plain  copy

    1. public static void main(String[] args){  
    2. //连接本地的Redis服务  
    3. new Jedis("127.0.0.1", 6379);  
    4. "连接成功!");  
    5. //密码验证  
    6. "123456");  
    7. //存储Set缓存数据  
    8. "test-set", "Java");  
    9. "test-set", "PHP");  
    10. "test-set", "C++");  
    11. "test-set", "PHP");  
    12. //获取set缓存数据  
    13. "test-set");  
    14. for(String setStr : setCache){  
    15. "Set集合缓存输出:" + setStr);  
    16.         }  
    17.     }

    输出结果:

    [plain]  
       view plain 
        copy

    1. 连接成功!  
    2. Set集合缓存输出:PHP  
    3. Set集合缓存输出:C++  
    4. Set集合缓存输出:Java  


    ZSet(有序,不重复集合) 类型实例


    [java]  view plain  copy

      1. public static void main(String[] args){  
      2. //连接本地的Redis服务  
      3. new Jedis("127.0.0.1", 6379);  
      4. "连接成功!");  
      5. //密码验证  
      6. "123456");  
      7. //存储zset类型缓存数据  
      8. "test-zset",1,"Java");  
      9. "test-zset",3,"C++");  
      10. "test-zset",2,"PHP");  
      11. "test-zset",2,"PHP");  
      12. //获取zset缓存数据类型  
      13. "test-zset", 0, 5);  
      14. for(String setStr : setCache){  
      15. "获取zset缓存数据:" + setStr);  
      16.         }  
      17.     }


      输出结果:

      [plain]  
         view plain 
          copy


      1. 连接成功!  
      2. 获取zset缓存数据Java  
      3. 获取zset缓存数据PHP  
      4. 获取zset缓存数据C++  

      注:zset每个存储元素都会关联一个double类型的数值,redis就是根据这个数值进行排序的,数值可以重复,但是存储元素不可以重复。