Redis常用指令

Redis常用指令

通用指令:

INFO SERVER

查看Redis版本信息

TYPE:

查属性

redis> TYPE key1
"string"
redis> TYPE key2
"list"

KEYS:

查键(模糊查询内存消耗较大)

redis> KEYS *name*
1) "firstname"
2) "lastname"
redis> KEYS a??
1) "age"
redis> KEYS *
1) "age"
2) "firstname"
3) "lastname"

DEL

删除对应存储

> SET key "hello Redis"
OK
> DEL key
1

时间复杂度:O(N)

SORT

排序指令

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

SORT key DESC降序

SORT key ALPHA按字典排

SORT key LIMIT offset count从offset偏移量开示的count个元素

SORT key BY pattern按外部键排

SORT key BY nosort跳过排序

SORT key BY weight_* GET object_*获取排序元素外部键

SORT key BY weight_* STORE resultkey存储结果

SORT key BY weight_*->fieldname GET object_*->fieldname 哈希字段排序

SUMP&RESTORE

DUMP命令可以将Redis键的值序列化并返回序列化的二进制数据。这个命令常用于备份键值或在不同Redis实例之间传输数据。

RESTORE命令将序列化的二进制数据恢复为一个键。0表示键的TTL(以毫秒为单位),这里设置为0表示键没有过期时间。

> SET key "hello Redis"
OK
> DUMP key
\x00\x0bhello Redis\x09\x00\xd84\xa5\x9e\x98\xf6\xd3\xef
> DEL key
1
> RESTORE key \x00\x0bhello Redis\x09\x00\xd84\xa5\x9e\x98\xf6\xd3\xef
OK

时间复杂度:O(1)

EXISTS

EXISTS 检验值是否存在

> SET KEY "HELLO REDIS"
OK
> EXIST KEY
ERR unknown command `exist`, with args beginning with: `KEY`, 
> EXISTS KEY
1

时间复杂度:O(N)

EXPIRE

EXPIRE key seconds [NX | XX | GT | LT]

  • seconds: 过期时间(以秒为单位)。
  • NX: 只有在键不存在过期时间时才设置。
  • XX: 只有在键已经存在过期时间时才设置。
  • GT: 只有在新过期时间大于当前过期时间时才设置。
  • LT: 只有在新过期时间小于当前过期时间时才设置。

PERSIST可以用于接触倒计时 》》》PERSIST KEY

TTL用于返回时间值(动态) 》》》TTL KEY

127.0.0.1:6379> EXPIRE mykey 60 NX
(integer) 1
127.0.0.1:6379> EXPIRE mykey 120 NX
(integer) 0

EXPIREAT

EXPIREAT与EXPIRE具有相同的效果和语义,但它不指定表示TTL(生存时间)的秒数,而是采用绝对的Unix时间戳(自1970年1月1日以来的秒数)。过去的时间戳将立即删除密钥。

EXPIREAT KEY UNIX_TimeStamp [NX | XX | GT | LT]

EXPIRETIME

返回一个UNIX时间戳

Integer reply: -1 if the key exists but has no associated expiration time.

Integer reply: -2 if the key does not exist.

redis> EXPIRETIME mykey
(integer) 33177117420

MIGRATE

此命令实际上在源实例中执行 DUMP+DEL,在目标实例中执行 RESTORE。请参阅这些命令的页面,了解时间复杂度。此外,还会在两个实例之间执行 O(N) 数据传输。

MIGRATE 192.168.1.34 6379 “” 0 5000 KEYS key1 key2 key3

MIGRATE host port key|"" destination-db timeout [COPY] [REPLACE] [AUTH password] [AUTH2 username password] [KEYS key1 key2 ...]
  • host: 目标Redis实例的IP地址或主机名。
  • port: 目标Redis实例的端口号。
  • key|"": 要迁移的单个键,或使用空字符串以使用KEYS选项指定多个键。
  • destination-db: 目标Redis实例的数据库索引(从0开始)。
  • timeout: 迁移操作的超时时间,以毫秒为单位。
  • COPY: 可选参数,表示保留源实例中的键。
  • REPLACE: 可选参数,表示如果目标实例中存在同名键,则替换它。
  • AUTH password: 可选参数,表示目标实例的访问密码。
  • AUTH2 username password: 可选参数,表示目标实例的用户名和密码。
  • KEYS key1 key2 ...: 要迁移的多个键。

MOVE

将键从当前选定的数据库移动到指定的目标数据库。

MOVE key db

OBJECT系列

OBJECT ENCODING 命令用于返回 Redis 存储的键的内部编码。

OBJECT FREQ此命令返回存储在中的Redis对象的对数访问频率计数器。

OBJECT IDELTIME此命令返回自上次访问存储在中的值以来的时间(秒)。

OBJECT RFECOUNT此命令返回存储在的引用计数。

示例及应用场景>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

1. OBJECT ENCODING
SET mystring "Hello, Redis!"
OK
127.0.0.1:6379> OBJECT ENCODING mystring
"embstr"
应用场景

OBJECT ENCODING 命令用于检查 Redis 键的内部编码类型。了解键的编码类型有助于优化内存使用和性能。例如,在某些情况下,可能需要优化键的大小或选择不同的编码方式来提高操作效率。

2. OBJECT FREQ
SET mystring "Hello, Redis!"OK
127.0.0.1:6379> OBJECT FREQ mystring
(integer) 1

(注意:OBJECT FREQ 仅在启用了 Redis 的内存频率跟踪功能时可用)

应用场景

OBJECT FREQ 命令返回 Redis 对象的访问频率计数器。这对于缓存管理特别有用,可以帮助确定哪些键被频繁访问,以便进行缓存命中率优化,或决定哪些键需要被淘汰。

3. OBJECT IDLETIME
127.0.0.1:6379> SET mystring "Hello, Redis!"
OK
127.0.0.1:6379> OBJECT IDLETIME mystring
(integer) 0

几秒后

127.0.0.1:6379> OBJECT IDLETIME mystring
(integer) 10
应用场景

OBJECT IDLETIME 命令返回自上次访问键以来的时间(秒)。这个命令对于确定哪些键长时间未被访问非常有用,有助于实施过期策略或数据清理策略,以释放内存资源。

4. OBJECT REFCOUNT
127.0.0.1:6379> SET mystring "Hello, Redis!"
OK
127.0.0.1:6379> OBJECT REFCOUNT mystring
(integer) 1

应用场景

OBJECT REFCOUNT 命令返回 Redis 对象的引用计数。这在调试和分析数据结构时非常有用,可以帮助了解某个键被引用的次数,从而避免意外的内存占用问题,尤其是在复杂的脚本或多重引用的场景中。

WAIT

此命令将阻止当前客户端,直到所有先前的写入命令都成功传输并至少得到您在numreplicas参数中指定的副本数量的确认。如果达到了为超时参数指定的值(以毫秒为单位),即使尚未达到指定的副本数量,该命令也会返回。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值