redis的数据类型-String

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"));
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值