zoukankan      html  css  js  c++  java
  • Redis学习笔记-常用命令篇(Centos7)

      redis提供了丰富的命令,这些命令可以在linux终端使用。在各类语言中,这些命令都有对应的方法。

    一、键值相关

    1、keys

      返回满足给定pattern的所有key

    127.0.0.1:6379> keys *
     1) "key1"
     2) "num"
     3) "list"
     4) "qq"
     5) "key2"
     6) "key3"
     7) "hashkey"
     8) "setkey"
     9) "listkey2"
    10) "num2"
    11) "num1"
    12) "listkey"
    13) "listkey1"
    14) "key5"
    15) "test"
    16) "name"
    17) "zsetkey"
    18) "setkey-1"
    19) "setkey-2"
    20) "num3"
    21) "key4"
    22) "num4"
    127.0.0.1:6379> keys num*
    1) "num"
    2) "num2"
    3) "num1"
    4) "num3"
    5) "num4"

    2、exists

      确认key是否存在

    127.0.0.1:6379> exists name
    (integer) 1
    127.0.0.1:6379> exists key
    (integer) 0

     3、del

      删除一个key

    127.0.0.1:6379> exists qq
    (integer) 1
    127.0.0.1:6379> del qq
    (integer) 1
    127.0.0.1:6379> exists qq
    (integer) 0

    4、expire

      设置一个key的过期时间(单位为秒)

    127.0.0.1:6379> ttl name
    (integer) -1
    127.0.0.1:6379> expire name 10
    (integer) 1
    127.0.0.1:6379> ttl name
    (integer) 8
    127.0.0.1:6379> ttl name
    (integer) 5
    127.0.0.1:6379> ttl name
    (integer) 0
    127.0.0.1:6379> ttl name
    (integer) -2
    127.0.0.1:6379> get name
    (nil)

    5、move

      将当前数据库中的key转移到其它数据库中

    127.0.0.1:6379> select 1
    OK
    127.0.0.1:6379[1]> get test
    (nil)
    127.0.0.1:6379[1]> select 0
    OK
    127.0.0.1:6379> get test
    "redis test"
    127.0.0.1:6379> move test 1
    (integer) 1
    127.0.0.1:6379> get test
    (nil)
    127.0.0.1:6379> select 1
    OK
    127.0.0.1:6379[1]> get test
    "redis test"

    6、persist

      移除给定key的过期时间

    127.0.0.1:6379> ttl list
    (integer) -1
    127.0.0.1:6379> expire list 300
    (integer) 1
    127.0.0.1:6379> ttl list
    (integer) 296 
    127.0.0.1:6379> persist list
    (integer) 1
    127.0.0.1:6379> ttl list
    (integer) -1

    7、randomkey

      随机返回一个key

    127.0.0.1:6379> randomkey 
    "num"
    127.0.0.1:6379> randomkey 
    "key5"
    127.0.0.1:6379> randomkey 
    "num3"

    8、rename/renamenx

      重命名key

    127.0.0.1:6379> rename list list-new
    OK
    127.0.0.1:6379> exists list
    (integer) 0
    127.0.0.1:6379> exists list-new
    (integer) 1
    127.0.0.1:6379> keys list*
    1) "listkey2"
    2) "list-new"
    3) "listkey"
    4) "listkey1"
    127.0.0.1:6379> rename listkey listkey1
    OK
    127.0.0.1:6379> exists listkey
    (integer) 0
    127.0.0.1:6379> exists listkey1
    (integer) 1
    127.0.0.1:6379> renamenx listkey1 listkey2
    (integer) 0
    127.0.0.1:6379> renamenx listkey1 listkey3
    (integer) 1

    9、type

      返回值的类型

    127.0.0.1:6379> type num
    string
    127.0.0.1:6379> type list-new
    list
    127.0.0.1:6379> type hashkey
    hash
    127.0.0.1:6379> type setkey
    set
    127.0.0.1:6379> type zsetkey
    zset

    二、服务器相关

    1、ping

      测试是否正常连接

    127.0.0.1:6379> ping
    PONG
    127.0.0.1:6379> ping aaa
    "aaa"
    # 关闭redis服务器
    127.0.0.1:6379> shutdown
    Could not connect to Redis at 127.0.0.1:6379: Connection refused
    # 开启服务器
    not connected> ping aaa
    "aaa"
    127.0.0.1:6379> ping
    PONG

    2、echo

      打印内容

    127.0.0.1:6379> echo message
    "message"
    127.0.0.1:6379> echo ping
    "ping"

    3、select

      选择数据库,redis数据库编号范围是0~15,默认登录0

    127.0.0.1:6379> select  1
    OK
    127.0.0.1:6379[1]> select  15
    OK
    127.0.0.1:6379[15]> select  16
    (error) ERR invalid DB index
    127.0.0.1:6379[15]> select  0
    OK

    4、quie/exit

      退出连接。

    [root@localhost ~]# redis-cli
    127.0.0.1:6379> quit
    [root@localhost ~]#
    [root@localhost ~]# redis-cli
    127.0.0.1:6379> exit
    [root@localhost ~]#

    5、dbsize

      返回当前数据库中key的数量

    127.0.0.1:6379> dbsize
    (integer) 18

    6、info

      获取服务器的信息和统计

    127.0.0.1:6379> info
    # Server
    redis_version:3.2.5
    redis_git_sha1:00000000
    redis_git_dirty:0
    redis_build_id:75f5eeeebaabc5a4
    redis_mode:standalone
    os:Linux 3.10.0-229.el7.x86_64 x86_64
    arch_bits:64
    multiplexing_api:epoll
    ...
    ...
    ...
    ...
    127.0.0.1:6379> 

    7、monitor

      实时显示收到的请求

    127.0.0.1:6379> monitor
    OK
    # 有客户端进行连接
    1481013661.020891 [0 127.0.0.1:52881] "COMMAND"
    # 客户端执行的命令
    1481013672.994979 [0 127.0.0.1:52881] "keys" "*"
    1481013695.957605 [0 127.0.0.1:52881] "get" "name"
    1481013704.682609 [0 127.0.0.1:52881] "set" "name" "linux"

     8、config get

      获取服务器配置信息。

    127.0.0.1:6379> config get dir
    1) "dir"
    2) "/usr/local/redis/6379"

    9、flushdb

      删除当前数据库中所有的key

    127.0.0.1:6379> dbsize
    (integer) 19
    127.0.0.1:6379> flushdb
    OK
    127.0.0.1:6379> dbsize
    (integer) 0

    10、flushall

      删除所有数据库中的所有key

    127.0.0.1:6379> select 1
    OK
    127.0.0.1:6379[1]> dbsize
    (integer) 1
    127.0.0.1:6379[1]> select 0
    OK
    127.0.0.1:6379> dbsize
    (integer) 4
    127.0.0.1:6379> flushall
    OK
    127.0.0.1:6379> dbsize
    (integer) 0
    127.0.0.1:6379> select 1
    OK
    127.0.0.1:6379[1]> dbsize
    (integer) 0

    三、安全相关

      因为各种安全的原因,我们可能想要对数据库设置密码。

      修改配置文为以下的语句:

    requirepass foobared

      使用系统默认的密码“foobared”。注意:因为redis数据库速度相当快,可以做到1秒150K次的密码尝试,所以实际使用时需要设置足够强大的密码。

      重新启动数据库。然后再用数据库连接操作时,就会发生下面的情况:

    127.0.0.1:6379> keys *
    (error) NOAUTH Authentication required.

      如果想要操作需要输入口令

    127.0.0.1:6379> auth foobared
    OK
    127.0.0.1:6379> keys *
    1) "name"

      我们还可以在连接服务器的时候就指定口令:

    [root@localh ~]# redis-cli -a foobared
    127.0.0.1:6379> keys *
    1) "name"
    127.0.0.1:6379> 
  • 相关阅读:
    Java获取Linux系统cpu使用率
    jsoup 提取 html 中的所有链接、图片和媒体
    使用Spring定时任务并且通过AOP监控任务执行情况
    MySQL导出数据库、数据库表结构、存储过程及函数【用】
    linux下部署一个JavaEE项目的简单步骤
    MySQL 错误日志(Error Log)
    linux下程序JDBC连接不到mysql数据库
    linux下mysql登录报错“Access denied for user 'root'@'localhost' (using password: YES”)的处理方法
    Spring Boot的核心
    项目中菜单折叠问题
  • 原文地址:https://www.cnblogs.com/cdinc/p/6137906.html
Copyright © 2011-2022 走看看