zoukankan      html  css  js  c++  java
  • 理解 Redis(4)

    上一节介绍了关于字符串值的一些基本命令, 这一节将介绍一些进阶命令:

    清理终端:

    127.0.0.1:6379> clear
    

    设置一个键值对, 同时设置过期时间为10秒:

    127.0.0.1:6379> setex name 10 max
    OK
    127.0.0.1:6379> get name
    "max"
    

    查看剩余的过期时间:

    127.0.0.1:6379> ttl name
    (integer) 4
    127.0.0.1:6379> ttl name
    (integer) 0
    127.0.0.1:6379> get name
    (nil)
    

    设置一个键值对, 同时设置过期时间为30000毫秒, 注意, 使用 psetex 设置过期时间, 时间的单位为毫秒:

    127.0.0.1:6379> psetex name3 30000 july
    OK
    127.0.0.1:6379> ttl name3
    (integer) 26
    

    设置一个键值对, 但是想要确认这个键是否已被占用, 可以用 setnx, 如果已经被占用, 则返回0, 即没有执行成功:

    127.0.0.1:6379> set name tom
    OK
    127.0.0.1:6379> setnx name join
    (integer) 0
    127.0.0.1:6379> get name
    "tom"
    

    如果未被占用, 则返回1, 即操作成功:

    127.0.0.1:6379> setnx name2 join
    (integer) 1
    127.0.0.1:6379> get name2
    "join"
    127.0.0.1:6379> keys *
    1) "name2"
    2) "name"
    

    获取值的字符串长度:

    127.0.0.1:6379> get name
    "tom"
    127.0.0.1:6379> strlen name
    (integer) 3
    127.0.0.1:6379> get name2
    "join"
    127.0.0.1:6379> strlen name2
    (integer) 4
    

    同时设置多个键值对, 这里故意设置了两个 num2 的值, 可以看到会存入后者:

    127.0.0.1:6379> mset num1 40 num2 60 num2 70
    OK
    127.0.0.1:6379> keys *
    1) "name"
    2) "name2"
    3) "num1"
    4) "num2"
    127.0.0.1:6379> get num2
    "70"
    

    以 1 为单位, 增加/减少值:

    127.0.0.1:6379> get num1
    "40"
    127.0.0.1:6379> decr num1
    (integer) 39
    127.0.0.1:6379> get num1
    "39"
    127.0.0.1:6379> incr num1
    (integer) 40
    127.0.0.1:6379> get num1
    "40"
    

    增加/减少值, 但是可以自定义每次增加/减少的量:

    127.0.0.1:6379> incrby num1 5
    (integer) 45
    127.0.0.1:6379> get num1
    "45"
    127.0.0.1:6379> decrby num1 10
    (integer) 35
    127.0.0.1:6379> get num1
    "35"
    

    附加拼接命令:

    127.0.0.1:6379> set mykey hello
    OK
    127.0.0.1:6379> get mykey
    "hello"
    127.0.0.1:6379> append mykey " world"
    (integer) 16
    127.0.0.1:6379> get mykey
    "hello world"
    

    以上, 就是关于字符串值的一些进阶命令, 如有问题, 欢迎留言.

  • 相关阅读:
    java.io.file
    连线小游戏
    发票类型区分的正则表达式(仅区分普票专票)
    mybatis: No enum constant org.apache.ibatis.type.JdbcType."VARCHAR"
    bootstrap inputfile 使用-上传,回显
    微积分极限中一例
    oracle 查看表结构语句
    redis无法连接
    项目配置shiro原缓存注解失效
    bug 找不到或无法加载主类main.java.*
  • 原文地址:https://www.cnblogs.com/rachelross/p/10409715.html
Copyright © 2011-2022 走看看