redis学习-redis常用指令

Posted Bcomll

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了redis学习-redis常用指令相关的知识,希望对你有一定的参考价值。

前言

前面学习了redis的五种基本数据类型和每种数据类型常用的一些方法,今天来学习一下五种基本数据类型以外的常用命令。

  • keys

    keys pattern 用于显示符合条件的额key,可以使用*通配符筛选。

    127.0.0.1:6379> keys *
    1) "zset1"
    2) "set1"
    3) "set2"
    4) "list1"
    5) "list2"
    127.0.0.1:6379> keys list*
    1) "list1"
    2) "list2"
    127.0.0.1:6379> keys zset1
    1) "zset1"
    
  • exists

    exists key [key ... ]用于判定key是否存在。

  • expire

    expire key seconds 用于设定key的过期时间。

  • ttl

    ttl key 用于查看key的剩余有效时间,未设定过期时间则返回-1,设定过期时间返回剩余有效时间,已过期返回-2。

  • persist

    取消过期时间设定。

    // 判定key是否存在
    127.0.0.1:6379> exists set1
    (integer) 1
    // 设定过期时间为100
    127.0.0.1:6379> expire set1 100
    (integer) 1
    // 查看过期时间
    127.0.0.1:6379> ttl set1
    (integer) 96
    // 查看未设定过期时间的key,返回-1
    127.0.0.1:6379> ttl list1
    (integer) -1
    // 查看剩余过期时间,返回剩余过期时间
    127.0.0.1:6379> ttl set1
    (integer) 32
    127.0.0.1:6379> ttl set1
    (integer) 4
    127.0.0.1:6379> ttl set1
    (integer) -2
    // 已过期返回 -2
    127.0.0.1:6379> ttl set1
    (integer) -2
    
  • select

    select index 用于切换数据库,redis有0-15,共16个数据库,默认数据库为0。redis3.x版本引入集群以前,为了维护数据的安全和备份数据的需要,划分了16个数据库,存储在不同的服务器(分片技术),用以确保数据安全。

  • move

    move key db用于将指定key移至指定数据库。

    // 前面的默认数据存放在0号数据库
    127.0.0.1:6379> select 0
    OK
    127.0.0.1:6379> keys *
    1) "zset1"
    2) "set2"
    3) "list1"
    4) "list2"
    // 切库并查看数据为空    
    127.0.0.1:6379> select 1
    OK
    127.0.0.1:6379[1]> keys *
    (empty list or set)
    // 将数据库0中的zset1移至数据库1    
    127.0.0.1:6379[1]> select 0
    OK
    127.0.0.1:6379> move zset1 1
    (integer) 1
    127.0.0.1:6379> keys zset1
    (empty list or set)
    127.0.0.1:6379> select 1
    OK
    127.0.0.1:6379[1]> keys zset1
    1) "zset1"
    
  • randomkey

    随机返回一个key(想不到有什么用途?)。

    127.0.0.1:6379[1]> select 0
    OK
    127.0.0.1:6379> randomkey
    "list1"
    127.0.0.1:6379> randomkey
    "list1"
    127.0.0.1:6379> randomkey
    "list2"
    
  • rename

    rename key newkey 重命名。

    127.0.0.1:6379> keys *
    1) "set2"
    2) "list1"
    3) "list2"
    127.0.0.1:6379> rename list1 list0
    OK
    127.0.0.1:6379> keys *
    1) "list0"
    2) "set2"
    3) "list2"
    
  • echo

    输出打印。

  • dbsize

    获取db中数据的个数。

  • info

    info section返回当前数据库的信息。

  • config get

    返回配置信息。

  • flunshdb/flushall

    清空(当前)数据库/清空所有库。

    127.0.0.1:6379> echo 123
    "123"
        
    127.0.0.1:6379> dbsize
    (integer) 3
        
    127.0.0.1:6379> info
    # Server
    redis_version:5.0.5
    redis_git_sha1:00000000
    redis_git_dirty:0
    redis_build_id:84ff8fdea17c09ed
    redis_mode:standalone
     ... ... 
        
    127.0.0.1:6379> config get *
      1) "dbfilename"
      2) "dump.rdb"
      3) "requirepass"
      4) ""
      5) "masterauth"
      6) ""
      7) "cluster-announce-ip"
      8) ""
     
    127.0.0.1:6379> keys *
    1) "list0"
    2) "set2"
    3) "list2"
    127.0.0.1:6379> flushdb
    OK
    127.0.0.1:6379> keys *
    (empty list or set)
    127.0.0.1:6379> select 1
    OK
    127.0.0.1:6379[1]> keys *
    1) "zset1"
    // 清空所有数据,info查看keyspace可以看到所有数据库均无数据
    127.0.0.1:6379[1]> select 0
    OK
    127.0.0.1:6379> flushall
    127.0.0.1:6379> info
        ... ...
    # Keyspace    
    
    

以上是关于redis学习-redis常用指令的主要内容,如果未能解决你的问题,请参考以下文章

Redis-02-笔记

Redis-02-笔记

Redis-02-笔记

Redis-02-笔记

Redis学习总结(上)——Redis数据类型配置文件Jedis

Redis常用指令