redis的官网http://redis.io是学习redis的重要资源库,所有命令都分门别类的罗列在了这里http://redis.io/commands

1、数据库选择命令:

SELECT index  //选择当前连接使用哪个数据库

默认配置下一个redis-server服务会开启16个数据库,其index位0~15,可以通过SELECT命令来选择使用哪个库,redis-cli连接默认使用0号库。

注意:redis命令都是作用在已选择的库上面。比如,你使用“SELECT 1”选择了1号库,那么随后的redis命令都是作用在这个库上面,eg.命令“KEYS *”只会列出1号库中所有的键。

2、与key相关的常用命令:

KEYS pattern         //列出所有与pattern匹配的“键”,支持glob-style pattern
TYPE key          //检测key的类型
EXISTS key [key ...]    //返回key列表中“键”存在的个数 /* 移动和删除 */
MOVE key db        //将当前数据库中key移动到db指定的数据库中
DEL key [key ...]     //删除列表中的key /* 重命名相关 */
RENAME key newkey     //重命名
RENAMENX key newkey    //重命名,只有在newkey不存在的情况下才执行 /* 存活时间相关 */
EXPIRE key seconds      //设置key的存活时间,指定多少“秒”后失效
PEXPIRE key milliseconds   //设置key的存活时间,指定多少“毫秒”后失效
EXPIREAT key timestamp    //设置key的存活时间,使用“秒”绝对时间指定
PEXPIREAT key milliseconds-timestamp //设置key存活时间,使用“毫秒”绝对时间指定 TTL key             //返回key剩余的存活时间,单位秒
PTTL key            //返回key剩余的存货时间,单位毫秒

3、命令使用和解析

①、KEYS pattern

功能:查找当前库中所有匹配pattern模式的key

时间复杂度:O(N),N为当前库中key的个数。如果当前库中存放的key非常多,则要慎用此命令。

pattern:支持glob-style模式:?匹配1个字符,*匹配0个或多个字符,[ae]匹配字符“a”或者是“e”,[^e]匹配“非e”外的任何一个字符,[a-c]匹配“a/b/c”中的任何一个字符,匹配特殊字符需要用反斜杠“\”转义。

example:

②、TYPE key

作用:返回key的类型(Redis共有5大数据类型)。

example:

③、EXISTS key [key ...]

功能:返回key列表中“键”存在的个数。如果列表中只有一个key,则就是检查这个key是否存在。

时间复杂度:O(1)

example:

④、MOVE key db

功能:将当前数据库中的key移动到db指示的数据库中,db表示数据库编号

时间复杂度:O(1)

example

⑤、DEL key [key ...]

功能:删除列表中的key

时间复杂度: O(N),其中N表示列表中“实际落地的键值对”个数。删除一个string类型key的时间复杂度为 O(1),删除一个含有M个键值对的key(集合类型set,hash,list,sorted set)的时间复杂度为 O(M)。

example

⑥、RENAME key newkey

功能:将key重命名为newkey,注意:如果newkey存在,此操作会覆盖newkey的值。

时间复杂度:O(1)

example

⑦、REBANENX key newkey

功能:同RENAME,区别在于此命令只有在newkey不存在的情况下才执行。

⑧、TTL key / PTTL key

功能:都是检测key还能存活多长时间,区别在于TTL返回值的单位是“秒”,PTTL返回值的单位是“毫秒”。其返回值有三种状态:-2—不存在,-1—永久存活,大于0的值表示剩余存活时间。

时间复杂度:O(1)。

example

⑨、EXPIRE key seconds / PEXPIRE milliseconds

功能:指定key的存活时间。区别在于:前者的单位是“秒”,后者的单位是“毫秒”。

时间复杂度:O(1)

注意:如果不使用expire/pexpire/expireat/pexpireat指定key的生命周期,则默认为“永不过期”。

2、keys相关命令的更多相关文章

  1. Redis常用命令手册:服务器相关命令

    Redis提供了丰富的命令(command)对数据库和各种数据类型进行操作,这些command可以在Linux终端使用.在编程时,比如各类语言包,这些命令都有对应的方法.下面将Redis提供的命令做一 ...

  2. redis的hash, list, set类型相关命令

    hash相关命令: 1. hset HSET key field value 将哈希表key中的域field的值设为value.如果key不存在,一个新的哈希表被创建并进行hset操作.如果域fiel ...

  3. Redis学习笔记(二)-key相关命令【转载】

    转自 Redis学习笔记(二)-key相关命令 - 点解 - 博客园http://www.cnblogs.com/leny/p/5638764.html Redis支持的各种数据类型包括string, ...

  4. Redis key 相关命令

    其实本质上,Redis 就是一个Key---Value 数据库.这里我先介绍下Redis中关于的key的相关命令, 注意:key是字符串存储,但是不能使用 空格 或者 “\n”,value 则可以使用 ...

  5. redis-key相关命令

    本篇主要介绍和redis的key进行操作的相关命令. 命令 描述 复杂度 返回值 DEL key [key ...] 删除给定的一个或多个 key .不存在的 key 会被忽略.删除单个列表.集合.有 ...

  6. 05_NoSQL数据库之Redis数据库:Redis的常用命令,键值相关命令和服务器相关命令

     Redis常用命令 Redis提供了丰富的命令对数据库和各种数据库类型进行操作,这些命令可以再Linux终端使用. 键值相关命令: Keys:返回满足给定pattern的所有key 用表达式*表 ...

  7. [Redis]Redis的五种数据类型与键值/服务器相关命令

    -------------------------------------------------------------------------------------- String(字符串):最 ...

  8. Redis集群维护、运营的相关命令与工具介绍

    Redis集群的搭建.维护.运营的相关命令与工具介绍 一.概述 此教程主要介绍redis集群的搭建(Linux),集群命令的使用,redis-trib.rb工具的使用,此工具是ruby语言写的,用于集 ...

  9. redis 从0 到 1 键值相关命令 服务器相关命令

    keys * 获取所有的key   忽略其数据类型 数据为空   返回(empty list or set) keys a* .*b 获取以a开头 或者 以b结尾的key 返回(empty list ...

随机推荐

  1. 使用PullToRefreshListView时遇到Item点击事件失效问题 解决方法

    最近在自己的项目中使用到了以下开源项目: https://github.com/nanchen2251/pullToRefreshDemo 相关介绍博客如下: http://www.cnblogs.c ...

  2. [转载][QT][SQL]sql学习记录5_sqlite视图(View)

    转载自:http://www.runoob.com/sqlite/sqlite-view.html SQLite 视图(View) 视图(View)只不过是通过相关的名称存储在数据库中的一个 SQLi ...

  3. with异常

    with 语句 语法: with 表达式1 [as 变量1], 表达式2 [as 变量2], ...: 语句块 作用: 使用于对资源进行访问的场合,确保使用过程中不管是否发生异常都会执行必要的'清理操 ...

  4. wampserver2.5的php.ini位置在wamp\bin\apache\apache2.4.9\bin

    wampserver2.5的php.ini位置在wamp\bin\apache\apache2.4.9\bin php.ini有多个地方,C:\wamp\bin\php\php5.5.12下面有php ...

  5. 如何创建一个基于 MSBuild Task 的跨平台的 NuGet 工具包

    MSBuild 的 Task 为我们扩展项目的编译过程提供了强大的扩展性,它使得我们可以用 C# 语言编写扩展:利用这种扩展性,我们可以为我们的项目定制一部分的编译细节.NuGet 为我们提供了一种自 ...

  6. SQL语句中—删除数据

    老大------drop 出没场合:droptable tb --tb表示数据表的名字,下同 绝招:删除内容和定义,释放空间.简单来说就是把整个表去掉.以后要新增数据是不可能的,除非新增一个表 老二- ...

  7. spring注解实现业务层事务管理,当业务层自调用时,事务失效问题解决

    前些日子一朋友在需要在目标对象中进行自我调用,且需要实施相应的事务定义,且网上的一种通过BeanPostProcessor的解决方案是存在问题的.因此专门写此篇帖子分析why. 1.预备知识 aop概 ...

  8. 安装 Ruby, Rails 运行环境

    步骤1 - 安装 RVM RVM 是干什么的这里就不解释了,后面你将会慢慢搞明白. $ gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1 ...

  9. Linux CentOS6.5 命令修改网络配置

    登陆成功后,编辑网络信息文件: 命令:vi /etc/sysconfig/network-scripts/ifcfg-eth0 修改配置如下图并保存,子网掩码.ip.默认网关根据自己网络进行调整: 永 ...

  10. MySQL主从报错解决:Failed to initialize the master info structure

    大清早收到一个MySQL的自定义语言告警 :replication interrupt,看来是主从同步报错了. 登陆MySQL,执行 show slave status \G 发现salve已经停止了 ...