Redis常用命令备忘录

205 阅读2分钟

不记得就来找找

信息/统计信息

INFO

命令:INFO。可查询redis信息,包括版本、配置文件所在地、内存使用情况、命中率等。在返回的信息中,你可以查找keyspace_hits和keyspace_misses两个字段,它们分别代表缓存命中次数和未命中次数。通过计算命中率,你可以使用以下公式:命中率 = keyspace_hits / (keyspace_hits + keyspace_misses)

INFO STATS

INFO命令的子命令,INFO输出所有信息,STATS是他的其中一部分,这个命令就是只展示这个STATS部分的数据。看着没那么长,方便看。

操作命令

进入redis客户端

redis-cli -h 127.0.0.1 -p 6379 -a mima12345 
#或者先输入地址端口,等会输密码 
redis-cli -h 127.0.0.1 -p 6379 auth 密码

模糊找key

keys follow*

查看某个hash的所有值

hgetall streamers_20231109

删除某个key

del streamers_20231109

查看hash所有信息

hget streamers_20231109

查某个key的使用情况

比如:chat_violate_list1

memory usage chat_violate_list1

查某个类型为list的key的长度

#比如:chat_list1

LLEN chat_list1

获取某个key的类型

TYPE chat_list1

不覆盖的设置key的值(非hash类型)

SETNX是一个用于设置键值对的命令,如果指定的键不存在,则设置键的值为指定的值。这个命令通常用于在设置键时进行检查,以确保不会覆盖已经存在的键

SETNX key value

使用场景:

  • 分布式锁:在分布式系统中,可以使用SETNX来实现简单的分布式锁。当一个客户端尝试获取锁时,可以通过SETNX来尝试设置一个特定的键作为锁,如果设置成功则获取锁,如果设置失败则说明锁已经被其他客户端持有
  • 计数器:在需要保证计数器的原子性操作时,可以使用SETNX来确保计数器的递增操作不会被并发操作影响
  • 缓存更新:在需要更新缓存时,可以使用SETNX来避免多个客户端同时更新同一个缓存数据,确保只有一个客户端能够成功更新缓存

不覆盖的设置值(hash类型)

类似于setnx。HSETNX命令适用于需要在哈希表中设置字段值时确保不覆盖已存在字段的情况。常见的应用场景包括缓存控制、防止重复操作等

HSETNX key field value

自增(hash)

用于为哈希表中的指定字段增加指定的整数值。这个命令主要用于对哈希表中的字段进行自增操作

HINCRBY key field increment

判断key是否存在

EXISTS key_name