Redis 简明教程(三)

发布于 28 天前  24 次阅读


Redis 系统管理

实验介绍

上一节实验讲述了 Redis 的基本数据类型,本实验继续讲解 Redis 相关命令及管理操作。

在 Redis 中,命令大小写不敏感。

知识点

  • 适合全体类型的常用命令
  • Redis 时间相关命令
  • Redis 设置相关命令
  • 查询信息

实验环境

  • Xfce 终端

适合人群

本课程难度属于容易,属于初级级别课程。

适合全体类型的常用命令

启动 redis 服务和 redis-cli 命令界面继续后续实验:

sudo service redis-server start
sudo su
cd
redis-cli

EXISTS and DEL

exists key:判断一个 key 是否存在,存在返回 1,否则返回 0。

del key:删除某个 key,或是一系列 key,比如:del key1 key2 key3 key4。成功返回 1,失败返回 0(key 值不存在)。

> set mykey hello
> exists mykey
> del mykey
> exists mykey

操作截图:

3-2-1

TYPE and KEYS

type key:返回某个 key 元素的数据类型(none:不存在,string:字符,list:列表,set:元组,zset:有序集合,hash:哈希),key 不存在返回空。

keys key—pattern:返回匹配的 key 列表,比如:keys foo* 表示查找 foo 开头的 keys。

> set mykey x
> type mykey
> keys my*
> del mykey
> keys my*
> type mykey

操作截图:

3-2-2

RANDOMKEY and CLEAR

randomkey:随机获得一个已经存在的 key,如果当前数据库为空,则返回空字符串。

> randomkey

操作截图:

3-2-3

clear:清除界面。

> clear

RENAME and RENAMENX

rename oldname newname:更改 key 的名字,新键如果存在将被覆盖。 renamenx oldname newname:更改 key 的名字,新键如果存在则更新失败。

比如这里 randomkey 结果为 mylist,将此 key 值更名为 newlist。

> randomkey
> rename mylist newlist
> exists mylist
> exists newlist

操作截图:

3-2-4

DBSIZE

dbsize:返回当前数据库的 key 的总数。

> dbsize

操作截图:

3-2-5

笔者的操作截图:

image-20220624220526035

image-20220624220541605

Redis 时间相关命令

下面我们将会学习 Redis 时间相关命令。

限定 key 生存时间

这同样是一个无视数据类型的命令,对于临时存储很有用处。避免进行大量的 DEL 操作。

expire:设置某个 key 的过期时间(秒),比如:expire bruce 1000 表示设置 bruce 这个 key 1000 秒后系统自动删除,注意:如果在还没有过期的时候,对值进行了改变,那么那个值会被清除。

> set key some-value
> expire key 10
> get key     # 马上执行此命令
> get key     # 10s后执行此命令

操作截图:

3-3-1

结果显示:执行 expire 命令后,马上 get 会显示 key 存在;10 秒后再 get 时,key 已经被自动删除。

查询 key 剩余生存时间

限时操作可以在 set 命令中实现,并且可用 ttl 命令查询 key 剩余生存时间。

ttl:查找某个 key 还有多长时间过期,返回时间单位为秒。

> set key 100 ex 30
> ttl key
> ttl key

操作截图:

3-3-2

清除 key

flushdb:清空当前数据库中的所有键。 flushall:清空所有数据库中的所有键。

> flushdb
> flushall

笔者的实验截图:

image-20220624221344132

image-20220624221353414

image-20220624221425790

Redis 设置相关命令

Redis 有其配置文件,可以通过 client-command 窗口查看或者更改相关配置。下面介绍相关命令。

CONFIG GET and CONFIG SET

config get:用来读取运行 Redis 服务器的配置参数。 config set:用于更改运行 Redis 服务器的配置参数。 auth:认证密码。

下面针对 Redis 密码的示例:

> config get requirepass  # 查看密码
> config set requirepass test123  # 设置密码为 test123
> config get requirepass  # 报错,没有认证
> auth test123  # 认证密码
> config get requirepass

操作截图:

3-4-1

由结果可知,刚开始时 Reids 并未设置密码,密码查询结果为空。然后设置密码为 test123,再次查询报错。经过 auth 命令认证后,可正常查询。

可以通过修改 Redis 的配置文件 redis.conf 修改密码。

config get 命令是以 list 的 key-value 对显示的,如查询数据类型的最大条目:

> config get *max-*-entries*

操作截图:

3-4-2

重置报告

config resetstat:重置数据统计报告,通常返回值为“OK”。

> CONFIG RESETSTAT

操作截图:

3-4-3

笔者的实验截图:

image-20220624221921729

查询信息

info [section]:查询 Redis 相关信息。

info 命令可以查询 Redis 几乎所有的信息,其命令选项有如下:

  • server: Redis server 的常规信息
  • clients: Client 的连接选项
  • memory: 存储占用相关信息
  • persistence: RDB and AOF 相关信息
  • stats: 常规统计
  • replication: Master/Slave 请求信息
  • cpu: CPU 占用信息统计
  • cluster: Redis 集群信息
  • keyspace: 数据库信息统计
  • all: 返回所有信息
  • default: 返回常规设置信息

若命令参数为空,info 命令返回所有信息。

> info keyspace
> info server

操作截图:

3-5-1

此处输入图片的描述

笔者的实验截图:

image-20220624222235574

参考文档

http://redis.io/commands/config-resetstat


昨日的月光悄然退场,曦阳已经渐亮