String
最简单的数据类型:
设置key对应的值为String类型的value,一个key对应一个value,是二进制安全的
* set
set name liudy
get name
set name liudy2(会覆盖,因为key重复)
- setnx
如果不想覆盖 setnx name liudy3
(如果存在,返回0,不更新;不存在,则更新) - setex
可指定此键值对应的有效期
127.0.0.1:6379> setex haircolor 10 red
OK
127.0.0.1:6379> get haircolor
"red"
127.0.0.1:6379> get haircolor
(nil)
- setrange(字符串替换)
如果替换后的没有原来字符串长,则保留原来的
127.0.0.1:6379> set email liudy@111.com
OK
127.0.0.1:6379> get email
"liudy@111.com"
127.0.0.1:6379> setrange email 6 qq.com
(integer) 13
127.0.0.1:6379> get email
"liudy@qq.comm"
- mset (一次设置多个key的值)
127.0.0.1:6379> mset key1 liudy1 key2 liudy2
OK
127.0.0.1:6379> get key1
"liudy1"
127.0.0.1:6379> get key2
- msetnx
(只要有一个存在的,所有的都不会覆盖) - get
- getset
(获取旧值,设置新值) - getrange
127.0.0.1:6379> get email
"liudy@qq.comm"
127.0.0.1:6379> getrange email 0 4
"liudy"
127.0.0.1:6379>
- mget(批量获取)
127.0.0.1:6379> mget key1 key2 key3 key7
1) "liudy1"
2) "liudy2"
3) "liudy33"
4) (nil)
127.0.0.1:6379>
- incr(递增)
127.0.0.1:6379> set key6 1
OK
127.0.0.1:6379> get key6
"1"
127.0.0.1:6379> incr key6
(integer) 2
127.0.0.1:6379> get key6
"2"
127.0.0.1:6379>
- incrby (递增)
已指定的数增加
127.0.0.1:6379> incrby key6 5
(integer) 7
127.0.0.1:6379> get key6
"7"
127.0.0.1:6379> incrby key6 -6
(integer) 1
127.0.0.1:6379> get key6
"1"
127.0.0.1:6379>
- decr(自减)
- decrby(已指定数自减)
- append(追加)
127.0.0.1:6379> get name
"liudy2"
127.0.0.1:6379> append name -shenyang
(integer) 15
127.0.0.1:6379> get name
"liudy2-shenyang"
- strlen(查看长度)
127.0.0.1:6379> strlen name
(integer) 15
public class StringTest {
public static void main(String[] args) {
Jedis jedis = new Jedis("127.0.0.1",6379);
jedis.auth("redis");
//set
Set<String> set = jedis.keys("*");
System.out.println( set.toString());
// set
System.out.println("***set***");
System.out.println(jedis.set("name","liudy"));
// get
System.out.println("***get***");
System.out.println(jedis.get("name"));
// setnx
System.out.println("***setnx***");
System.out.println(jedis.setnx("name","liudy"));
System.out.println(jedis.setnx("age","20"));
// setex
System.out.println("***setex***");
System.out.println(jedis.setex("name",10,"liudy1"));
// setrange
System.out.println("***setrange***");
jedis.set("email","liudy@123456.com");
jedis.setrange("email",6,"654321");
System.out.println(jedis.get("email"));
// mset
System.out.println("***mset***");
jedis.mset("k1","v1","k2","v2","k3","v3");
System.out.println(jedis.get("k1"));
System.out.println(jedis.get("k2"));
// msetnx
System.out.println("***msetnx***");
jedis.msetnx("k1","v1","k2","v2","k5","v5");// 只要有一个是存在的 所有都不会覆盖
System.out.println(jedis.get("k1"));
System.out.println(jedis.get("k5"));
// get
System.out.println("***get***");
System.out.println(jedis.get("k1"));
// getset
System.out.println("***getset***");
System.out.println(jedis.getSet("k1","v11"));
// getrange
System.out.println("***getrange***");
System.out.println(jedis.getrange("email",6,15));
// mget(批量获取)
System.out.println("***mget***");
System.out.println(jedis.mget("k1","k2","k3"));
// incr(递增)
System.out.println("***incr***");
jedis.set("age","20");
jedis.incr("age");
System.out.println(jedis.get("age"));
// incrby (递增)
System.out.println("***incrby***");
jedis.incrBy("age",5);
System.out.println(jedis.get("age"));
// decr(自减)
System.out.println("***decr***");
jedis.decr("age");
System.out.println(jedis.get("age"));
// decrby(已指定数自减)
System.out.println("***decrby***");
jedis.decrBy("age", 5);
System.out.println(jedis.get("age"));
// append(追加)
System.out.println("***append***");
jedis.append("email","somethingappend");
System.out.println(jedis.get("email"));
// strlen(查看长度)
System.out.println("***strlen***");
System.out.println(jedis.strlen("email"));
}
}