Redis使用汇总1 string命令

近期有空,汇总下redis各个数据结构的操作命令。这篇汇总string命令用于加深记忆。

APPEND

append命令用于在string后追加新的字符串,若该key不存在则先创建一个空字符串的key再执行追加。append命令会返回执行之后value的长度。

                Jedis jedis = new Jedis("127.0.0.1", 6379);
                jedis.set("append", "1");
                long result = jedis.append("append", "2");
                System.out.println("append的结果为 " + result);
                System.out.println(jedis.get("append"));
                append的结果为 2
                12

DECR

decr命令可用于对对应的数字做减1操作。如果key不存在则先创建该key并将值设为0。decr命令能够返回减过之后的值。注:该操作支持64位有符号整形数值。

		Jedis jedis = new Jedis("127.0.0.1", 6379);
		jedis.set("append", "12");
		System.out.println("decr之后的结果为 " + jedis.decr("append"));
                System.out.println("decr之后的结果为 " + jedis.decr("append2"));
                decr之后的结果为 11
                decr之后的结果为 -1

DECRBY

decrby命令能够另value减去对应的数值。如果key不存在则先创建该key并将值设为0。decrby命令能够返回减过之后的值。注:该操作支持64位有符号整形数值。

		Jedis jedis = new Jedis("127.0.0.1", 6379);
		jedis.set("append", "12");
		System.out.println("decr之后的结果为 " + jedis.decrBy("append", 2));
		System.out.println("decr之后的结果为 " + jedis.decrBy("append3", 2));
                decr之后的结果为 10
                decr之后的结果为 -2

GET

get命令用于根据key值获取value。若不存在对应的key则返回null。若返回的值不是string类型则报错。

		Jedis jedis = new Jedis("127.0.0.1", 6379);
		jedis.set("append", "12");
		System.out.println("get获取的值为" + jedis.get("append"));
		System.out.println("get获取的值为" + jedis.get("append4"));
                get获取的值为12
                get获取的值为null

GETRANGE

getrange命令用于获取指定范围的字符串,获取的范围为指定范围的闭区间,若超出字符串长度则截取至字符串最后的字符。

		Jedis jedis = new Jedis("127.0.0.1", 6379);
		jedis.set("append", "1234567");
		System.out.println("getRange获取的值为 " + jedis.getrange("append", 1, 2));
		System.out.println("getRange获取的值为 " + jedis.getrange("append", 2, 100));
                getRange获取的值为 23
                getRange获取的值为 34567

GETSET

getset命令用于返回原来key的旧值并设置key的新值。若该key不存在,则返回null。

		Jedis jedis = new Jedis("127.0.0.1", 6379);
		jedis.set("append", "1234567");
		jedis.decr("append");
		System.out.println("getSet获取的值为 " + jedis.getSet("append", "1234567"));
		System.out.println("getSet之后的值 " + jedis.get("append"));
		System.out.println("getSet获取的值为 " + jedis.getSet("append5", "100"));
		System.out.println("getSet之后的值 " + jedis.get("append5"));
                getSet之后的值 1234567
                getSet获取的值为 null
                getSet之后的值 100

INCR

incr命令用于对key对应的值加1,若不存在该key则先创建该key并设置value为0然后再执行操作。注:该操作支持64位有符号整形数值。

		Jedis jedis = new Jedis("127.0.0.1", 6379);
		jedis.set("append", "1234567");
		System.out.println("incr获取的值为 " + jedis.incr("append"));
		System.out.println("incr获取的值为 " + jedis.incr("append6"));
                incr获取的值为 1234568
                incr获取的值为 1

INCRBY

inceby命令用于对key对应的值进行加法操作,若不存在该key则先创建该key并设置value为0然后再执行操作。注:该操作支持64位有符号整形数值。

		Jedis jedis = new Jedis("127.0.0.1", 6379);
		jedis.set("append", "1234567");
		System.out.println("incrBy获取的值为 " + jedis.incrBy("append", 100));
		System.out.println("incrBy获取的值为 " + jedis.incrBy("append7", 100));
                incrBy获取的值为 1234667
                incrBy获取的值为 100

MGET

mget命令用于返回key的值,如果value不是string类型或者不存在该key,则返回null。

		Jedis jedis = new Jedis("127.0.0.1", 6379);
		jedis.set("append", "1234567");
		jedis.lpush("append1", "a");
		jedis.lpush("append1", "b");
		jedis.lpush("append1", "c");
		System.out.println("mget获取的值为 " + jedis.mget("append"));
		System.out.println("mget获取的值为 " + jedis.mget("append1"));
		System.out.println("mget获取的值为 " + jedis.mget("append8"));
                mget获取的值为 [1234567]
                mget获取的值为 [null]
                mget获取的值为 [null]

MSET

mset用于批量设置value。

		Jedis jedis = new Jedis("127.0.0.1", 6379);		
		System.out.println(jedis.mset("append","89","append2","123"));
		System.out.println("append对应的值 " + jedis.get("append"));
		System.out.println("append2对应的值 " + jedis.get("append2"));
                OK
                append对应的值 89
                append2对应的值 123

MSETNX

msetnx用于批量set新值到新的key中,若set的key值已存在则整个set命令都不会成功。如果msetnx命令执行成功则返回1失败返回0.

		Jedis jedis = new Jedis("127.0.0.1", 6379);
		jedis.mset("append", "89", "append2", "123");
		System.out.println(jedis.msetnx("append", "89", "append2", "123", "append3", "123"));
		System.out.println(jedis.msetnx("append3", "89", "append4", "123", "append5", "123"));
                0
                1

SET

set命令用于更新value。

		Jedis jedis = new Jedis("127.0.0.1", 6379);
		System.out.println("set执行的结果 " + jedis.set("append", "12345"));
                set执行的结果 OK

SETEX

setex用于设置key对应的value并指定key过期的时间其中过期时间以秒记。

		Jedis jedis = new Jedis("127.0.0.1", 6379);
		System.out.println("setEx执行的结果 " + jedis.setex("append", 1, "12345"));
                setEx执行的结果 OK

SETNX

setnx命令与msetnx相似,当key不存在是创建该key并设置value当key存在则不做任何操作。setnx操作执行成功返回1失败返回0。

		Jedis jedis = new Jedis("127.0.0.1", 6379);
		System.out.println("setnx执行结果 " + jedis.setnx("append", "123"));
		System.out.println("setnx执行结果 " + jedis.setnx("append", "456"));
		System.out.println("setnx返回结果 " + jedis.get("append"));
                setnx执行结果 1
                setnx执行结果 0
                setnx返回结果 123

SETRANGE

setrange用于在原有value基础上根据offset插入value。如果offset超出原来value则在之前的value后补0直至达到offset然后再执行命令。

		Jedis jedis = new Jedis("127.0.0.1", 6379);
		jedis.set("append1", "123");
		System.out.println("setRange执行结果 " + jedis.setrange("append1", 1, "new"));
		System.out.println("setRange返回结果 " + jedis.get("append1"));
		System.out.println("setRange执行结果 " + jedis.setrange("append1", 10, "new2"));
		System.out.println("setRange返回结果 " + jedis.get("append1"));
                setRange返回结果 1new
                setRange执行结果 14
                setRange返回结果 1new

STRLEN

strlen用于返回当前key对应value的长度,若key不存在则返回0.

		Jedis jedis = new Jedis("127.0.0.1", 6379);
		jedis.set("append1", "12345566");
		System.out.println("strlen执行结果 " + jedis.strlen("append1"));
                strlen执行结果 8

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值