安装完redis和redis-desktop-manager后,开始学习命令啦!本篇基于redis 4.0.11版本,从对键(key)开始挖坑!

准备工作,使用db1(默认db0,由于之前练习用db0,这里为避免混淆)。再创建一些数据如下:

切换成db1

select 1

创建键值为runoobkey redis的数据

SET runoobkey redis

获取键为runoobkey的值

get runoobkey

详细介绍:

序号 命令 描述 实例 返回

1

DEL key 该命令用于在 key 存在时删除 key 删除键runoobkey:del runoobkey

成功:(integer) 1

失败:(integer) 0

2 DUMP key 序列化给定 key ,并返回被序列化的值 将键为runoobkey序列化:dump runoobkey "\x00\x05redis\b\x00|}ENK67\x19"
3 EXISTS key 检查给定 key 是否存在 检查是否存在runoobkey:EXISTS runoobkey

存在:(integer) 1

不存在:(integer) 0

4 EXPIRE key seconds 为给定 key 设置过期时间 键为name设置过期时间为100秒:EXPIRE name 100

成功:(integer) 1

失败:(integer) 0

5 EXPIREAT key timestamp  EXPIREAT 的作用和 EXPIRE 类似,都用于为 key 设置过期时间。 不同在于 EXPIREAT 命令接受的时间参数是 UNIX 时间戳(unix timestamp) 键为name设置过期时间为2019年1月1日零点:EXPIREAT name 1546272000  

成功:(integer) 1

失败:(integer) 0

6 PEXPIRE key milliseconds 设置 key 的过期时间以毫秒计 键为age设置过期时间为1000毫秒:PEXPIRE age 1000

成功:(integer) 1

失败:(integer) 0

7 PEXPIREAT key milliseconds-timestamp 设置 key 过期时间的时间戳(unix timestamp) 以毫秒计 键为sex设置过期时间为2019年1月1日零点:EXPIREAT sex 1546272000000

成功:(integer) 1

失败:(integer) 0

8 KEYS pattern 查找所有符合给定模式( pattern)的 key 键为a打头的:KEYS a* 1) "apples"

2) "age"
9 MOVE key db 将当前数据库的 key 移动到给定的数据库 db 当中 键为age移到数据库3中:move age 3

成功:(integer) 1

失败:(integer) 0

10 PERSIST key 移除 key 的过期时间,key 将持久保持 移除键为sex过期时间:PERSIST sex

成功:(integer) 1

失败:(integer) 0

11 PTTL key 以毫秒为单位返回 key 的剩余的过期时间 键为apples的过期时间:PTTL apples (integer) 10996644158
12 TTL key 以秒为单位,返回给定 key 的剩余生存时间(TTL, time to live) 键为apples的过期时间:TTL apples (integer) 10996577
13 RANDOMKEY 从当前数据库中随机返回一个 key RANDOMKEY "cats"
14 RENAME key newkey 修改 key 的名称 键为cats改为cat:RENAME cats cat OK
15 RENAMENX key newkey 仅当 newkey 不存在时,将 key 改名为 newkey  键为cat改为apples:RENAMENX cat apples 

成功:(integer) 1

失败:(integer) 0

16 TYPE key 返回 key 所储存的值的类型 键为name值得类型:type name 

字符:string

哈希:hash

列表:list

集合:set

有序集合:zset

17 OBJECT [REFCOUNT|IDLETIME| ENCODING][arguments [arguments]] OBJECT REFCOUNT <key> 返回给定 key 引用所储存的值的次数。此命令主要用于除错。

OBJECT ENCODING <key> 返回给定 key 锁储存的值所使用的内部表示(representation)。

OBJECT IDLETIME <key> 返回给定 key 自储存以来的空闲时间(idle, 没有被读取也没有被写入),以秒为单位。

 

查看键为signtime的引用次数:OBJECT REFCOUNT signtime;

空闲时间:OBJECT IDLETIME apples;

编码方式:OBJECT ENCODING apples

(integer) 1;

(integer) 13;

"int"

18 RESTORE key ttl serialized-value [REPLACE]

反序列化给定的序列化值,并将它和给定的 key 关联。

参数 ttl 以毫秒为单位为 key 设置生存时间;如果 ttl 为 0 ,那么不设置生存时间。

RESTORE greetingcp 0 "\x00\x15hello, dumping world!\b\x00j`\xde\xbd\x84>wu"

OK;

get greetingcp

"hello, dumping world!"

19 SORT key [BY pattern] [LIMIT offset count] [GET pattern [GET pattern ...]] [ASC | DESC] [ALPHA] [STORE destination]

返回或保存给定列表、集合、有序集合 key 中经过排序的元素。

排序默认以数字作为对象,值被解释为双精度浮点数,然后进行比较。

键为score的值倒序排序并存到sorted-numbers中:sort scores desc STORE sorted-numbers

(integer) 2
20 SCAN cursor [MATCH pattern] [COUNT count] SCAN 命令及其相关的 SSCAN 命令、 HSCAN 命令和 ZSCAN 命令都用于增量地迭代,直到命令返回游标 0,我们称这个过程为一次完整遍历

开始新的迭代,匹配*i*,返回两个: scan 0 match *i* count 2

1) "12"

2) 1) "greeting"

序号为17命令实例(get操作后明显看到空闲时长小很多!)

127.0.0.1:6379[1]> OBJECT idletime apples

(integer) 1229

127.0.0.1:6379[1]> get apples

"7"

127.0.0.1:6379[1]> OBJECT idletime apples

(integer) 7

127.0.0.1:6379[1]> OBJECT idletime apples

(integer) 13

序号为18命令实例

127.0.0.1:6379[1]> SET greeting "hello, dumping world!"

OK

127.0.0.1:6379[1]> DUMP greeting

"\x00\x15hello, dumping world!\b\x00j`\xde\xbd\x84>wu"

127.0.0.1:6379[1]> RESTORE greetingcp 0 "\x00\x15hello, dumping world!\b\x00j`\xde\xbd\x84>wu"

OK

127.0.0.1:6379[1]> get greetingcp

"hello, dumping world!"

网上有很多参考文档,推荐:http://redisdoc.com/ (是 Redis Command Reference 和 Redis Documentation 的中文翻译版,包括Redis 命令的具体使用方法,Redis 的事务、持久化、复制、Sentinel、集群等功能,超详细!)

上一篇:【Redis】Linux下Redis安装与redis-desktop-manager使用

下一篇:【Redis】命令学习笔记——字符串(String)(23个超全字典版)

【Redis】命令学习笔记——键(key)(20个超全字典版)的更多相关文章

  1. 【Redis】命令学习笔记——列表(list)+集合(set)+有序集合(sorted set)(17+15+20个超全字典版)

    本篇基于redis 4.0.11版本,学习列表(list)和集合(set)和有序集合(sorted set)相关命令. 列表按照插入顺序排序,可重复,可以添加一个元素到列表的头部(左边)或者尾部(右边 ...

  2. 【Redis】命令学习笔记——哈希(hash)(15个超全字典版)

    本篇基于redis 4.0.11版本,学习哈希(hash)相关命令. hash 是一个string类型的field和value的映射表,特别适合用于存储对象. 序号 命令 描述 实例 返回 HSET ...

  3. 【Redis】命令学习笔记——字符串(String)(23个超全字典版)

    Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合). 本篇基于redis 4.0.11版本,学习字符串( ...

  4. 【Redis数据库】命令学习笔记——发布订阅、事务、脚本、连接等命令汇总

    本篇基于redis 4.0.11版本,学习发布订阅.事务.脚本.连接的相关命令. Redis 发布订阅(pub/sub)是一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息. 序号 ...

  5. Redis:学习笔记-04

    Redis:学习笔记-04 该部分内容,参考了 bilibili 上讲解 Redis 中,观看数最多的课程 Redis最新超详细版教程通俗易懂,来自 UP主 遇见狂神说 10. Redis主从复制 1 ...

  6. Redis:学习笔记-02

    Redis:学习笔记-02 该部分内容,参考了 bilibili 上讲解 Redis 中,观看数最多的课程 Redis最新超详细版教程通俗易懂,来自 UP主 遇见狂神说 4. 事物 Redis 事务本 ...

  7. Redis:学习笔记-01

    Redis:学习笔记-01 该部分内容,参考了 bilibili 上讲解 Redis 中,观看数最多的课程 Redis最新超详细版教程通俗易懂,来自 UP主 遇见狂神说 1. Redis入门 2.1 ...

  8. mongodb常用命令学习笔记

    mongodb常用命令学习笔记 创建数据库 use DATABASE_NAME eg: use users; 如果数据库不存在,则创建数据库,否则切换到指定数据库.要显示刚刚创建的数据库,需要向数据库 ...

  9. Redis:学习笔记-03

    Redis:学习笔记-03 该部分内容,参考了 bilibili 上讲解 Redis 中,观看数最多的课程 Redis最新超详细版教程通俗易懂,来自 UP主 遇见狂神说 7. Redis配置文件 启动 ...

随机推荐

  1. dynamic解析Http xml格式响应数据

    继续上一篇 构建RESTful风格的WCF服务 ,咱已经把服务端的数据和服务准备好了,客户端调用 wcf rest接口后如何解析xml?下面使用dynamic关键字解析来至于WCF REST XML响 ...

  2. C#中给滚动条增加鼠标滚动轮控制事件

    当滚动条的父控件获得焦点时,可以使用鼠标的滚动轮来控制滚动条 public partial class Form1 : Form { public Form1() { InitializeCompon ...

  3. 笔记三:python乱码深度剖析一

    一:学习内容 python编码转换 python乱码原因深入解析 二:python编码转换 1. Python内部字符串一般都是Unicode编码,代码中字符串的默认编码与代码文件本身的编码是一致的. ...

  4. AI小白快上车!这是发往高薪职位的车!

    欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由腾讯云AI中心发表于云+社区专栏 AI到底有多火?看看下面这组数据: 腾讯研究院<2017全球人工智能人才白皮书>报告中提 ...

  5. MVC、MVCS、MVVM、MVP、VIPER等这么多架构模式哪一个好呢?

    在项目开启阶段,其中一个很重要的环节就是选架构. 那么面对目前已知的这么多架构模式我们该怎么选择呢?这确实是个很让人头疼的问题!   下面我就在这里梳理一下目前常见的一些架构模式. 先逐个对它们的分析 ...

  6. 如何找出长时间未提交的事务session ID

    收到报警某台mysql数据库慢查询数量超过5,登录上去看,发现阻塞的SQL全部是update,处于Updating状态 +---------+------+-----------+------+--- ...

  7. videojs IE8无法播放解决方案

    1.如果是在.cs文件里初始化视频元素,没有遇到无法播放问题. 2.如果是js动态换播放器的poster和src遇到此问题,解决办法是用videojs提供的函数来设置 https://github.c ...

  8. [日常] MySQL的预处理技术测试

    MySQL预处理技术:1.减轻服务器压力2.防止sql注入,把传递过去的危险字符也只当做参数处理3.将sql语句强制一分为二:第一部分为前面相同的命令和结构部分,第二部分为后面可变的数据部分基本使用 ...

  9. MySQL千万级大表优化解决方案

    MySQL千万级大表优化解决方案 非原创,纯属记录一下. 背景 无意间看到了这篇文章,作者写的很棒,于是乎,本人自私一把,把干货保存下来.:-) 问题概述 使用阿里云rds for MySQL数据库( ...

  10. 为 HTTP/2 头压缩专门设计的 HPACK

          HTTP/2 对消息头采用 HPACK 进行压缩传输,能够节省消息头占用的网络的流量.如何理解 HPACK 压缩呢? 如果我们约定将常用的请求头的参数用一些特殊的编号来表示,比如 GET ...