安装完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. Mac系统的下载(图文详解)

    不多说,直接上干货!   经常使用苹果电脑的网友们,有时候不免会遇到电脑系统崩溃的情况,在通过各种系统补救都无法修复苹果系统时,动手能力稍强的网友肯定会想到要重装系统,这时就需要去下载苹果系统,那么, ...

  2. C/C++ -- Gui编程 -- Qt库的使用 -- 对话框QDialog

    模态对话框 -----源文件main.cpp(工程QtDialog)----- #include "qtdialog.h" #include <QApplication> ...

  3. Maven 学习笔记(三)

    Maven生命周期 在上次我们使用maven package 对项目进行打包.这里就是为其指定一个生命周期.生命周期是包含在一个项目构建中的一系列有序的阶段.Maven有许多不同的生命周期,比如验证( ...

  4. struct in_addr 结构体

    struct in_addr 结构体: struct in_addr { in_addr_t s_addr; }; 表示一个32位的IPv4地址. in_addr_t一般为32位的unsigned i ...

  5. 【设计模式】观察者模式 Observer Pattern

    定义:观察者模式定义了对象之间的一对多依赖.当“主题”(Object)状态改变事,所有依赖它的“观察者”(Observer)都会受到通知并自动更新.主题支持观察者订阅和退订. 观察者模式提供了一种对象 ...

  6. Shell如何解决文件流管道的文本拼接失效问题

    前言: 近期由于业务的需要,需实现通过监控日志文件的内容并定时将日志的有效内容通过邮件进行告警. 文本内容的格式如下: 1 aaa 2 bbb 4 ccc 7 ddd 希望输出: bbb ccc 版本 ...

  7. 常用算法2 - 广度优先搜索 & 深度优先搜索 (python实现)

    1. 图 定义:图(Graph)是由顶点的有穷非空集合和顶点之间边的集合组成,通常表示为:G(V,E),其中,G表示一个图,V是图G中顶点的集合,E是图G中边的集合. 简单点的说:图由节点和边组成.一 ...

  8. 资料汇总--Ajax中Put和Delete请求传递参数无效的解决方法(Restful风格)【转】

    开发环境:Tomcat9.0 在使用Ajax实现Restful的时候,有时候会出现无法Put.Delete请求参数无法传递到程序中的尴尬情况,此时我们可以有两种解决方案:1.使用地址重写的方法传递参数 ...

  9. 2013年8月12日Python的5个最有价值问题

    问:Python怎么在字典里删除值但保留相应的键 答: 假设3都在值里,而非键>>> for v in D1.values():...     if 3 in v:...       ...

  10. SQL、Linq和Lambda表达式 的关系

    首先说说这三者完全是三种不同的东西,SQL是结构化查询语言(Structured Query Language)简称,这大家再熟悉不过了,下面主要介绍LINQ和Lambda表达式的基本概念以及同一查询 ...