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> 
  • 相关阅读:
    leetcode 29-> Divide Two Integers without using multiplication, division and mod operator
    ros topic 发布一次可能会接收不到数据
    python中的print()、str()和repr()的区别
    python 部分函数
    uiautomatorviewer错误 unable toconnect to adb
    pyqt 不规则形状窗口显示
    appium 计算器demo
    Spring 3.0 注解注入详解
    Spring Autowire自动装配
    restful 学习地址
  • 原文地址:https://www.cnblogs.com/cdinc/p/6137906.html
Copyright © 2011-2022 走看看