Redis还提供了其他命令对数据库和数据类型进行操作
- 重要的
- keys pattern
- type key
- del key
- exists key
- expire key
- ttl key
- select db
- auth password
- API
-
keys pattern
支持的正则表达模式:- h?llo 匹配 hello, hallo 和 hxllo
- h*llo 匹配 hllo 和 heeeello
- h[ae]llo 匹配 hello 和 hallo, 但是不匹配 hillo
- h[^e]llo 匹配 hallo, hbllo, … 但是不匹配 hello
- h[a-b]llo 匹配 hallo 和 hbllo
- * 匹配所有
警告⚠️:
KEYS
的速度非常快,但在一个大的数据库中使用它仍然可能造成性能问题 -
scan
SCAN 命令及其相关的 SSCAN, HSCAN 和 ZSCAN 命令都用于增量迭代一个集合元素。- SCAN 命令用于迭代当前数据库中的key集合。
- SSCAN 命令用于迭代SET集合中的元素。
- HSCAN 命令用于迭代Hash类型中的键值对。
- ZSCAN 命令用于迭代SortSet集合中的元素和元素对应的分值
以上列出的四个命令都支持增量式迭代,它们每次执行都只会返回少量元素,所以这些命令可以用于生产环境,而不会出现像 KEYS 或者 SMEMBERS 命令带来的可能会阻塞服务器的问题。
不过,SMEMBERS 命令可以返回集合键当前包含的所有元素, 但是对于SCAN这类增量式迭代命令来说,有可能在增量迭代过程中,集合元素被修改,对返回值无法提供完全准确的保证。
image.png
-
exits key
获取是否存在key -
del key
删除一个key -
expire key
给一个key设置过期时间 -
ttl key
获取key还剩的过期时间 -
persist key
移除key的过期时间,即key永久有效 -
randomkey
随机获取一个key -
rename key new_key
重命名一个key,如果new_key==key,报错;如果new_key已存在,会被覆盖 -
renamenx key new_key
同rename,但是如果new_key已存在,什么都不做,返回0 -
type key
获取key的类型 -
select db
切换数据库
image.png
-
move key db1 db2
将key从db1移动到db2 -
dbsize
获取db中key的个数 -
info
获取服务器信息和统计 -
config get pattern
获取服务器配置信息 -
config set key value
设置服务器配置信息
老版本的redis被利用这两个命令,登陆远程服务器,植入挖矿程序config set dir /root/.ssh config set dbfilename authorized_keys set xxx "\n\nssh-rsa*******" save
-
flushdb
清空当前db的所有key -
flushall
清空所有db -
auth password
在配置文件中开启密码登陆后,连接redis服务器需要密码,使用auth进行输入密码
-
网友评论