首页 > 编程知识 正文

jmap dump内存的命令是,byredo

时间:2023-05-04 12:46:12 阅读:161656 作者:418

方法定义如下。

1、字符串密钥(stringkey,String value ) 2、字符串密钥(String value,String nxxx ) 3、字符串密钥(stringkey,sset ) inttime(4、stringset(stringkey、String value、String nxxx、String expx、long time ) )的功能完全相同,为“setthestringvalue”

1、将key、value set放入redis中,进行隐式覆盖。 默认ttl为-1(不会过期)。

2、根据第三个参数将key,value set放入redis

nx : not exists,仅在key不存在时将key value set发送到redis

xx : is exists,key存在的只有yes,将key value set发送到redis

3、4和2相同,但追加了有效期限

expx参数有两个值。

ex : seconds秒

px :毫秒

使用其他值抛出异常。 redis.clients.jedis.exceptions.jedisdataexception 3360 err syntax error

第五个参数很尴尬。 有两个选项值。 int和long的时间是有效期限。 有什么不同呢?

在Jedis类的set方法中,用于重载int和long(5 (第五个参数)的方法与方法主体基本相同。

公共字符串集(final string key,final String value,final String nxxx,final String expx,final int time ) checkisinmultiorpipipipe }公共字符串集(final string key,final String value,final String nxxx,final String expx,final long time ) checkisinmultioriorion }有什么不同呢? 没有别的了。 用源代码追上去:

Jedis类---客户端类--- binary客户端也一样

在BinaryClient的set方法中,为int和long的time参数创建并操作tobytearray(time ),然后打开源代码,您看到:

publicstaticfinalbyte [ ] to bytearray (final intvalue ) returnsafeencoder.encode (string value of ) value ); } publicstaticfinalbyte [ ] to bytearray (finallongvalue ) returnsafeencoder.encode (string value of ) value ); 因为int和long都转换为字符串,所以jedis的最后两种重载方法实际上是相同的。 (推测: 1、如果expx参数为px,则使用长整型参数可以表示更多的时间。 2、满足使用习惯的long类型表示毫秒)

最后,返回值String。 如果写入成功,则返回“OK”;如果写入失败,则返回空(即使是nxxx )。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。