一. String k-v 单个key 最大能存 512 MB , 约等于 多个文字呢 ?
增(改): set key value 例子: set adminName ‘zhangsan’
查: get key 例子: get adminName
查询所有的key: keys * 例子: keys *
删key: del key 例子: del adminName
String 的 特有命令
(重要)过期时间:setex 存的时候就直接给定一个过期时间。 验证码就用它 setex code 60 3432423
(重用) 自增(减) incr 场景: 抖音点赞,产品的热销排行。 自增的值一定是数字、
自减: decr key
定量增: incrby incrby mycode 50
定量减: decrby decrby mycode 50
批量增: mset key1 value key2 value
批量增: mget key1 key2
字符串截取: getrange key start end
先查在存: getset , 格式 getset key value
将给定的key值设置value,并返回key的旧值。 工资!
先时间,后是value
字符串长度: strlen key 的长度 , 不存在的key 的长度是0
字符串的追加: append key value , 追加的位置是 value 的末尾
// 测试 string类型
@Test
public void test01() throws InterruptedException {
// redisTemplate
String pcode = jedisPool.getResource().set("pcode", "4758");
System.out.println("pcode = " + pcode);
// 查询 pcode 这个key在不在, --- exists key
Boolean b = jedisPool.getResource().exists("pcode");
System.out.println("b = " + b);
if (b){
System.out.println(" key 存在 b= " + b);
// 如果在, 把他设置成 120 倒计时, 且值 也改为 7788
jedisPool.getResource().setex("pcode",120,"7788");
// 并且 在 10s 后 输出 所剩下的倒计时。!
Thread.sleep(1000);
Long ttl = jedisPool.getResource().ttl("pcode");
System.out.println("ttl = " + ttl);
// 输出完毕后,将 该key 设置成 永久的key
jedisPool.getResource().persist("pcode"); // 注意, 他的返回值不是-1
Long ttl2 = jedisPool.getResource().ttl("pcode");
System.out.println("ttl2 = " + ttl2);
}else{
System.out.println("b ="+ b + " , key不存在");
}
}