Redis命令简易教程
Redis详细命令可参阅 http://redisdoc.com/
Java 中使用Jedis jd=new Jedis("127.0.0.1");
jd.close();//
所有的命令,jd都有方法对应。
1.String类型
set mykey "good to know you" 返回OK
get mykey 返回字符串“good to know you”,如果key不存在,返回null
对应Jedis用法:
System.out.println(jd.set("mykey", "good to know you")); //打印OK
为key设置超时时间
set mykey "good to see ya" ex 120 设置mykey的存活时间是120秒
使用ttl mykey返回剩余存活时间。(注意:key不存在(过期),返回-2,有可以但是没有设置存活时间返回-1,其他返回存活时间)
对应Jedis用法:
jd.setex("hi", 120, "winter is coming");//参数分别是 key,时间,value
NX和XX选项
在set 命令末尾添加NX 或者XX,分别表示
NX当key不存在的执行set
XX当key存在的时候执行set
成功返回OK,失败返回null
set hi "spring is coming" XX
对应jedis代码jd.set("hi", "good lord", "XX");
2.Hash
hmset mykey name "Bob Cook" age 23 job Engineer
返回OK
hgetall mykey 返回
1) "name"
2) "Bob Cook"
3) "age"
4) "23"
5) "job"
6) "Engineer"
对应Java代码
Map<String,String> h=new HashMap<>(); h.put("name", "Bob Cook"); h.put("age", "23"); h.put("job", "engineer"); jd.hmset("mykey", h); System.out.println(jd.hgetAll("mykey")); //打印字符串 //{name=Bob Cook, job=engineer, age=23}
针对hash中某一字段设置和查询
hset mykey name "Tim Cook" 如果name原理没有,返回1,如果name原来有,被覆盖,返回0
hget mykey name返回"Tim Cook"
3列表
添加元素
lpush mykey one two three four 返回当前列表长度
lpush mykey good
lrange mykey 0 10 返回0~10范围内列表mykey的元素
1) "good"
2) "four"
3) "three"
4) "two"
5) "one"
lindex mykey 3 返回列表mykey 从0开始第3元素 “two”
Java代码如下:
//代码的操作接着命令行中对mykey的操作 System.out.println(jd.lpush("mykey", "bad","evil")); System.out.println(jd.lrange("mykey", 0, 10)); 返回7 //[evil, bad, good, four, three, two, one]
4.集合
要点,元素不可重合
增加:sadd mykey good notgood bad bad 返回当前操作增加的元素 3,因为重复的不算
sadd mykey yes 返回 1
smembers 返回所有元素
1) "bad"
2) "notgood"
3) "good"
4) "yes"
删除srem mykey good 返回成功移除的元素个数
对应Java 代码
System.out.println(jd.sadd("mykey", "good","notgood","bad","bad")); System.out.println(jd.smembers("mykey")); System.out.println(jd.srem("mykey", "good")); //执行结果 //3 //[bad, notgood, good] //1
5.有序集合
主要是关联的分数
zadd mykey 45 good
zadd mykey 2 bad
zrangebyscore 0 100
返回
1) "bad"
2) "good"