import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Set; import redis.clients.jedis.Jedis; /** * @author wangzhijun * @date 2013-04-01 */ public class RedisTest { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub // 字符串测试 //[key,value]=["wl_str","jedis test ..."] Jedis jedis = new Jedis("localhost"); jedis.set("wl_str", "jedis test ..."); String x = jedis.get("wl_str"); System.out.println(x); // 列表 list 主要命令有两个LPUSH,RPUSH。L代表左,R代表右 jedis.rpush("wl_list", "疑是地上霜"); jedis.rpush("wl_list", "举头望明月"); jedis.rpush("wl_list", "低头思故乡"); jedis.lpush("wl_list", "床前明月光"); List<String> values = jedis.lrange("wl_list", 0, -1); //LRANGE用来获取子列表。第一个元素的索引为0。-1,表示列表末尾,-2表示列表倒数第二个 System.out.println(values); // 集合 Set(无序) SADD命令可以向集合添加一个新元素 jedis.sadd("wl_set", "1"); jedis.sadd("wl_set", "2"); jedis.sadd("wl_set", "3"); jedis.sadd("wl_set", "4"); Set<String> setValues = jedis.smembers("wl_set"); //SMEMEBER命令获取集合里的元素 System.out.println(setValues); // 有序集合 Sorted Set jedis.zadd("wl_sortedSet", 1940, "1940-购置房屋"); jedis.zadd("wl_sortedSet", 1953, "1953-购置汽车"); jedis.zadd("wl_sortedSet", 1965, "1965-发明专利"); jedis.zadd("wl_sortedSet", 1916, "1916-上小学"); jedis.zadd("wl_sortedSet", 1969, "1969-获得诺贝尔"); jedis.zadd("wl_sortedSet", 1912, "1912-出生"); Set<String> sortedSetValues = jedis.zrange("wl_sortedSet", 0, -1);//按照年份排序 System.out.println("由年份从老到新排序"); System.out.println(sortedSetValues); System.out.println("由年份从新到老排序"); sortedSetValues=null; sortedSetValues=jedis.zrevrange("wl_sortedSet", 0, -1); System.out.println(sortedSetValues); //哈希表 Hash 主要用于批量修改和获取 Map<String, String> pairs = new HashMap<String, String>(); pairs.put("name", "克瑞斯"); pairs.put("age", "20"); pairs.put("sex", "男"); jedis.hmset("young", pairs); //设置hash的值 values = jedis.hmget("young", new String[] { "name", "age", "sex" }); System.out.println(values); setValues = jedis.hkeys("young"); //获取young变量里面的标签 name、age和sex System.out.println(setValues); values = jedis.hvals("young"); //获取young变量里面的标签 name、age和sex所对应的值 System.out.println(values); pairs = jedis.hgetAll("young"); // System.out.println(pairs); } }
输出结果如下:
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
redis命令使用大全网站:http://redis.readthedocs.org/en/latest/index.html
http://redis.readthedocs.org/en/2.4/