zoukankan      html  css  js  c++  java
  • Redis常用命令

    Redis常用命令
    Redis提供了丰富的命令对数据库和各种数据类型进行操作,这些命令可以再Linux终端使用.
    1.键值相关命令
    2.服务器相关命令

    一、键值相关命令

    1、get

    get 键值
    当 key 不存在时,返回 nil ,否则,返回 key 的值。如果返回“1”,则表示键值锁住了.

    2.set 

    用于设置给定 key 的值。如果 key 已经存储其他值, SET 就覆写旧值,且无视类型。

    redis 127.0.0.1:6379> SET key "value"
    OK

    3、keys
    返回满足给定pattern的所有键.

    redis 127.0.0.1:6379>keys * 或者keys my*
    1)"myzset2"
    2)"myzset3"
    3)"mylist"
    4)"myset2"
    5)"k_zs_1"

    4、exists
    确认一个key是否存在.

    redis 127.0.0.1:6379>exists name
    (integer)0
    redis 127.0.0.1:6379>exists age
    (integer)1
    redis 127.0.0.1:6379>
    从结果来看,name键不存在,age键存在.

    5、del
    删除一个key

    redis 127.0.0.1:6379>del age
    (integer)1 (1,代表删除成功)
    redis 127.0.0.1:6379>exists age
    (integer)0
    redis 127.0.0.1:6379>

    批量删除key值:

    例如:
    删除以TimeLock_SAVETRANSDEAL_开头的所以key.
    /usr/local/redis/bin/redis-cli keys "TimeLock_SAVETRANSDEAL_*" |xargs /usr/local/redis/bin/redis-cli del

    6、expire
    设置一个key的过期时间

    redis 127.0.0.1:6379>expire addr 10
    (integer)1
    redis 127.0.0.1:6379>ttl addr 
    (integer)8
    redis 127.0.0.1:6379>expire addr
    (integer)-1
    
    #本例中,我们设置addr这个key的过期时间是10秒,然后我们不断的用ttl来获取这个key的有效时长,直到为-1说明此值以过期.

     7、move
    将当前数据库中的key转移到其他数据库中.

    redis 127.0.0.1:6379>select 0 (0代表选择到当前数据库)
    OK
    redis 127.0.0.1:6379>set age 30
    "30"
    redis 127.0.0.1:6379>move age 1 (将age从0数据库移动到1数据库)
    (integer)1
    redis 127.0.0.1:6379>get age
    (nil)
    redis 127.0.0.1:6379>select 1
    OK
    redis 127.0.0.1:6379>get age
    "30"

    8、persist
    移除给定key的过期时间

    redis 127.0.0.1:6379> expire age 300
    (integer)1
    redis 127.0.0.1:6379>ttl age
    (integer)294
    redis 127.0.0.1:6379>persist age
    (integer)1
    redis 127.0.0.1:6379>ttl age
    (integer)-1 (-1代表取消掉过期时间)
    redis 127.0.0.1:6379>

    9、randomkey
    随机返回key空间的一个key

    redis 127.0.0.1:6379>randomkey
    “mylist”
    redis 127.0.0.1:6379>randomkey
    “mylist5”
    redis 127.0.0.1:6379>

    10、rename
    重命名key

    redis 127.0.0.1:6379>keys my*
    1)"age"
    redis 127.0.0.1:6379>rename age age_new
    OK
    redis 127.0.0.1:6379>keys *
    1)“age_new”
    redis 127.0.0.1:6379>

    11、type
    返回值的类型

    redis 127.0.0.1:6379>type addr
    string
    redis 127.0.0.1:6379>type myzset2
    zset
    redis 127.0.0.1:6379>type mylist
    list
    redis 127.0.0.1:6379>

    12.统计key值的个数。

    统计TimeLock_SAVETRANSDEAL_这个key值的个数.
    /usr/local/redis/bin/redis-cli keys "*TimeLock_SAVETRANSDEAL_*"|wc -l  

    二、服务器的相关命令:

    1、ping
    测试连接是否存活

    redis 127.0.0.1:6379>ping
    PONG (代表连接正常)
    Could not connect to Redis at 127.0.0.1:6379:Connection refused (连接失败)

    2、echo
    在命令行打印一些内容

    redis 127.0.0.1:6379>echo lijie
    "lijie"
    redis 127.0.0.1:6379>

    3、select
    选择数据库.Redis数据库编号从0-15,我们可以选择任意一个数据库来进行数据的存取.

    redis 127.0.0.1:6379>select 1
    OK
    redis 127.0.0.1:6379>select 16
    (error)err invalid DB index (没有编号为16的数据库)
    redis 127.0.0.1:6379>

    4、quit exit crtl+c
    退出连接

    redis 127.0.0.1:6379>quit
    [root@localhost ]#

    5、dbsize
    返回当前数据库中key的数目

    redis 127.0.0.1:6379>dbsize
    (integer)18 (此库中有18个key)
    redis 127.0.0.1:6379>

    6、info
    获取服务器的信息和统计.

    7、config get
    实时传储收到的请求

    redis 127.0.0.1:6379>config get dir
    1)"dir"
    2)"/root/4setup/redis-2.2.12"
    redis 127.0.0.1:6379>
    #本例中我们获取了dir这个参数配置的值,如果想获取全部参数的配置也很简单,只要执行“config get ”即可将全部的值显示出来.

    config set
    Redis Config Set 命令可以动态地调整 Redis 服务器的配置(configuration)而无须重启

    使用config set命令设置redis密码,如果没在配置文件配置则redis重启后失效.

    redis 127.0.0.1:6379> config set requirepass 123456
       redis 127.0.0.1:6379> config get requirepass       #查询密码
       (error) ERR operation not permitted
       redis 127.0.0.1:6379> auth 123456                  #密码验证
       OK
       redis 127.0.0.1:6379> config get requirepass       #再次查询
       1) "requirepass"
       2) "123456"

    8、flushdb
    删除当前选择数据库中的所有key

    redis 127.0.0.1:6379>dbsize
    (integer)18
    redis 127.0.0.1:6379>flushdb
    OK
    redis 127.0.0.1:6379>dbsize
    (integer)0
    redis 127.0.0.1:6379>
    #在本例中我们将0号数据库中的key都清除了.

    9、flushall
    删除所有数据库中的所有key .

    10,查看redis版本

    [root@redis-m bin]# ./redis-cli -v
    redis-cli 2.8.7

     11.redis远程连接

    redis-cli -h 192.168.1.1 -p 6379 -a password
    

    12.Redis 慢查询

    何为慢查询?
    系统在命令执行前后计算每条命令的执行时间,当超过预定阀值时,记录命令的发生时间,耗时,命令的详细信息等。

    Redis客户端执行一条命令分为发送命令、命令排队、命令执行、返回结果。慢查询只统计命令执行,所以没有慢查询并不代表客户端没有超时问题。

    慢查询的两个配置参数

    slowlog-log-slower-than: 单位微秒(1秒=1000毫秒=1000,000微妙),指定redis执行命令的最大时间,超过将记录到慢查询日志中,不接受负值,如果设置为0,每条命令都要记录到慢查询日志中.
    slowlog-max-len: 设置慢查询日志长度,如果慢查询日志已经到最大值,如果有新命令需要记录,就将最老那条记录删除.

    获取慢查询的配置信息:

    10.100.62.39:6379> config get slowlog-log-slower-than
    1) "slowlog-log-slower-than"
    2) "10000"
    10.100.62.39:6379> config get slowlog*
    1) "slowlog-log-slower-than"
    2) "10000"
    3) "slowlog-max-len"
    4) "128"
    10.100.62.39:6379> 

    设置慢查询参数

    config set slowlog-log-slower-than 20000
    config set slowlog-max-len 1024
    config rewrite

    获取慢查询日志slowlog get 1,1表示输出前面一条。

    10.100.62.39:6379> slowlog get 1
    1) 1) (integer) 403
       2) (integer) 1531289663
       3) (integer) 10492
       4) 1) "scan"
          2) "5395137"
          3) "MATCH"
          4) "*"
          5) "COUNT"
          6) "10000"
    10.100.62.39:6379> 

    每个命令都有4个属性组成,分别是慢查询日志的标识ID,发生时间戳、命令耗时、执行命令和参数

    获取当前慢查询日志列表的长度

    10.100.62.39:6379>  slowlog len
    (integer) 128

    慢查询日志重置, 其实是清除了慢查询日志

    10.100.62.39:6379> slowlog reset
    OK

    参考文档:https://blog.csdn.net/chenlushun12/article/details/79568766

  • 相关阅读:
    读取XML示例:C#获取XML的数据
    GridView不換行
    List<T> 的条件筛选 where使用方法
    [HDU] 1016 Prime Ring Problem
    [HDU] 1072 Nightmare 和HDU1180有点类似
    [HDU] 1180 诡异的楼梯个人觉得比较有趣的广搜索
    [HDU] 1312Red and Black 用广搜求能探寻到的点的数目
    [HDU] 1026 Ignatius and the Princess I 简单建模后广搜索求最短路径生成树
    [HDU] 1010 Tempter of the Bone最基本的深搜
    [HDU] 1175 连连看 剪枝优化后的性能飙升
  • 原文地址:https://www.cnblogs.com/saneri/p/5984653.html
Copyright © 2011-2022 走看看