[java] view plain copy
  1. import java.util.HashMap;  

  2. import java.util.List;  

  3. import java.util.Map;  

  4. import java.util.Set;  

  5. import redis.clients.jedis.Jedis;  

  6. /**

  7. * @author  wangzhijun

  8. * @date  2013-04-01

  9. */

  10. publicclass RedisTest {  

  11. /**

  12.     * @param args

  13.     */

  14. publicstaticvoid main(String[] args) {  

  15. // TODO Auto-generated method stub

  16. // 字符串测试 //[key,value]=["wl_str","jedis test ..."]

  17.        Jedis jedis = new Jedis("localhost");  

  18.        jedis.set("wl_str", "jedis test ...");  

  19.        String x = jedis.get("wl_str");  

  20.        System.out.println(x);  

  21. // 列表 list  主要命令有两个LPUSH,RPUSH。L代表左,R代表右

  22.        jedis.rpush("wl_list", "疑是地上霜");  

  23.        jedis.rpush("wl_list", "举头望明月");  

  24.        jedis.rpush("wl_list", "低头思故乡");  

  25.        jedis.lpush("wl_list", "床前明月光");  

  26.        List<String> values = jedis.lrange("wl_list", 0, -1);  //LRANGE用来获取子列表。第一个元素的索引为0。-1,表示列表末尾,-2表示列表倒数第二个

  27.        System.out.println(values);  

  28. // 集合  Set(无序)     SADD命令可以向集合添加一个新元素

  29.        jedis.sadd("wl_set", "1");  

  30.        jedis.sadd("wl_set", "2");  

  31.        jedis.sadd("wl_set", "3");  

  32.        jedis.sadd("wl_set", "4");  

  33.        Set<String> setValues = jedis.smembers("wl_set"); //SMEMEBER命令获取集合里的元素

  34.        System.out.println(setValues);  

  35. // 有序集合  Sorted Set

  36.        jedis.zadd("wl_sortedSet", 1940, "1940-购置房屋");  

  37.        jedis.zadd("wl_sortedSet", 1953, "1953-购置汽车");  

  38.        jedis.zadd("wl_sortedSet", 1965, "1965-发明专利");  

  39.        jedis.zadd("wl_sortedSet", 1916, "1916-上小学");  

  40.        jedis.zadd("wl_sortedSet", 1969, "1969-获得诺贝尔");  

  41.        jedis.zadd("wl_sortedSet", 1912, "1912-出生");  

  42.        Set<String> sortedSetValues = jedis.zrange("wl_sortedSet", 0, -1);//按照年份排序

  43.        System.out.println("由年份从老到新排序");  

  44.        System.out.println(sortedSetValues);  

  45.        System.out.println("由年份从新到老排序");  

  46.        sortedSetValues=null;  

  47.        sortedSetValues=jedis.zrevrange("wl_sortedSet", 0, -1);  

  48.        System.out.println(sortedSetValues);          

  49. //哈希表   Hash  主要用于批量修改和获取

  50.        Map<String, String> pairs = new HashMap<String, String>();  

  51.        pairs.put("name", "克瑞斯");  

  52.        pairs.put("age", "20");  

  53.        pairs.put("sex", "男");  

  54.        jedis.hmset("young", pairs);  //设置hash的值

  55.        values = jedis.hmget("young", new String[] { "name", "age", "sex" });  

  56.        System.out.println(values);  

  57.        setValues = jedis.hkeys("young");  //获取young变量里面的标签  name、age和sex

  58.        System.out.println(setValues);  

  59.        values = jedis.hvals("young");   //获取young变量里面的标签  name、age和sex所对应的值

  60.        System.out.println(values);  

  61.        pairs = jedis.hgetAll("young"); //

  62.        System.out.println(pairs);  

  63.    }  

  64. }  


输出结果如下:

jedis test ...
[床前明月光, 疑是地上霜, 举头望明月, 低头思故乡]
[3, 2, 1, 4]
由年份从老到新排序
[1912-出生, 1916-上小学, 1940-购置房屋, 1953-购置汽车, 1965-发明专利, 1969-获得诺贝尔]
由年份从新到老排序
[1969-获得诺贝尔, 1965-发明专利, 1953-购置汽车, 1940-购置房屋, 1916-上小学, 1912-出生]
[克瑞斯, 20, 男]
[sex, name, age]
[20, 克瑞斯, 男]
{sex=男, name=克瑞斯, age=20}



若要运行本程序,需要下载jar包(jedis-2.1.0.jar),具体位置:https://github.com/xetorthio/jedis/downloads