Redis常用命令

来源:互联网 发布:做淘宝怎么发快递 编辑:程序博客网 时间:2024/06/15 03:43

Redis常用命令

下面地址是Redis命令的详细API
http://redisdoc.com/

一、Key(键)常用命令

  • keys pattern(查找所有符合给定模式 pattern 的 key )
keys *  匹配数据库中所有 key 。127.0.0.1:6379> keys *1) "my"2) "bb"3) "cc"4) "dd"5) "aa"keys *a*    匹配数据库中包含a的key。127.0.0.1:6379> keys *a*1) "ab"2) "aa"
  • exists key(检查给定 key 是否存在。)
    若 key 存在,返回 1 ,否则返回 0 。
exists aa 判断aa这个key是否存在127.0.0.1:6379> exists aa(integer) 1
  • del key(删除给定的一个或多个 key ,不存在的 key 会被忽略。返回被删除 key 的数量。)
del aa 删除单个keydel aa bb 删除多个key127.0.0.1:6379> del aa(integer) 1127.0.0.1:6379> del aa bb(integer) 1127.0.0.1:6379> del aa(integer) 0
  • expire key seconds(为给定 key 设置生存时间,当 key 过期时(生存时间为 0 ),它会被自动删除。 )
    设置成功返回1 ,失败返回 0
expire aa 30  设置aa的过期时间为 30 秒127.0.0.1:6379> expire aa 300(integer) 1

ttl key(以秒为单位,返回给定 key 的剩余生存时间。)
当 key 不存在时,返回 -2 。
当 key 存在但没有设置剩余生存时间时,返回 -1 。
否则,以秒为单位,返回 key 的剩余生存时间。

127.0.0.1:6379> ttl aa(integer) 283127.0.0.1:6379> ttl xx(integer) -2127.0.0.1:6379> ttl cc(integer) -1
  • type key(返回 key 所储存的值的类型。)
    none (key不存在)
    string (字符串)
    list (列表)
    set (集合)
    zset (有序集)
    hash (哈希表)
127.0.0.1:6379> type aanone127.0.0.1:6379> type ccstring

二、String(Redis字符串)常用命令

  • set key value [EX seconds] [PX milliseconds] [NX|XX] (设置Redis值)
    EX second :设置键的过期时间为 second 秒。
    PX millisecond :设置键的过期时间为 millisecond 毫秒。
    NX :只在键不存在时,才对键进行设置操作。
    XX :只在键已经存在时,才对键进行设置操作。
127.0.0.1:6379> set ex 1111 EX 300OK127.0.0.1:6379> ttl ex(integer) 295127.0.0.1:6379> set px 2222 PX 66666OK127.0.0.1:6379> ttl px(integer) 59
  • get key(返回 key 所关联的字符串值)
    当 key 不存在时,返回 nil ,否则,返回 key 的值。
    如果 key 不是字符串类型,那么返回一个错误。
127.0.0.1:6379> get aa(nil)127.0.0.1:6379> get cc"789654123"127.0.0.1:6379> get myhash(error) WRONGTYPE Operation against a key holding the wrong kind of value
  • mget key key… (返回所有一个或多个给定 key 的值)
    如果给定的 key 里面,有某个 key 不存在,那么这个 key 返回特殊值 nil 。
    因此,该命令永不失败。
127.0.0.1:6379> mget aa cc myhash1) (nil)2) "789654123"3) (nil)
  • mset key value key value…(同时设置一或多对值)
    如果某个给定 key 已经存在,那么 MSET 会用新值覆盖原来的旧值。
    MSET 是一个原子性(atomic)操作,所有给定 key 都会在同一时间内被设置,某些给定 key 被更新而另一些给定 key 没有改变的情况,不可能发生。
127.0.0.1:6379> mset aa 1232321 bb resds xx fefsfsOK127.0.0.1:6379> mget aa bb xx1) "1232321"2) "resds"3) "fefsfs"
  • append key value
    如果 key 已经存在并且是一个字符串, append 命令将 value 追加到 key 原来的值的末尾。
    如果 key 不存在, append 就简单地将给定 key 设为 value 。
    返回追加 value 之后, key 中字符串的长度。
127.0.0.1:6379> append aa 9898989(integer) 14127.0.0.1:6379> append yy 789(integer) 3

三、Hash(Redis Hash表)常用命令

  • hkeys key(返回哈希表 key 中的所有域)
127.0.0.1:6379> hkeys myhash1) "w"2) "c"
  • hget key field(返回哈希表 key 中给定域 field 的值)
    给定域的值。
    当给定域不存在或是给定 key 不存在时,返回 nil 。
127.0.0.1:6379> hget myhash c"1234556"
  • hgetall key(返回哈希表 key 中,所有的域和值)
    以列表形式返回哈希表的域和域的值。
    若 key 不存在,返回空列表。
127.0.0.1:6379> hgetall myhash1) "w"2) "\xe6\x88\x98\xe6\x96\x97\xe6\x9c\xba"3) "c"4) "1234556"
  • hexists key field(查看哈希表 key 中,给定域 field 是否存在)
    如果哈希表含有给定域,返回 1 。
    如果哈希表不含有给定域,或 key 不存在,返回 0 。
127.0.0.1:6379> hexists myhash 2(integer) 0127.0.0.1:6379> hexists myhash w(integer) 1
  • hset key field value(将哈希表 key 中的域 field 的值设为 value)
    如果 key 不存在,一个新的哈希表被创建并进行 HSET 操作。
    如果域 field 已经存在于哈希表中,旧值将被覆盖。
    如果 field 是哈希表中的一个新建域,并且值设置成功,返回 1 。
    如果哈希表中域 field 已经存在且旧值已被新值覆盖,返回 0 。
127.0.0.1:6379> hset myhash bb test(integer) 1127.0.0.1:6379> hset myhash bb uu(integer) 0
原创粉丝点击