forked from OpenAtomFoundation/pikiwidb
-
Notifications
You must be signed in to change notification settings - Fork 74
Todis 需要写权限的命令汇总
rockeet edited this page Nov 4, 2021
·
1 revision
- 权限为 ??? 的表示我不知道其是否需要数据库的写权限。
- 备注中有 Pika 的表示这是一个存在于 pika 但不存在于 redis 的指令,在 pika 中的作用与工作原理我并不明确。
- 备注中有 diff 的表示这个命令在 pika 文档的差异化命令列表或与 redis 兼容差异的列表中,即与 redis 中同样的命令有出入。
- 信息为空的表示我暂时没找到其功能说明。
序号 | 命令 | 含义 | 是否需要写权限 | 备注 |
---|---|---|---|---|
1 | slaveof |
将当前服务器转变为指定服务器的从属服务器(slave server)。 | 否 | diff |
2 | dbslaveof |
Pika | ||
3 | auth |
检测给定的密码和配置文件中的密码是否相符。 | 否 | |
4 | bgsave |
在后台异步保存当前数据库的数据到磁盘。 | 否 | diff |
5 | compact |
立即触发引擎层(rocksdb)所有数据结构执行全量 compact 操作。 | ??? | Pika |
6 | purgelogsto |
手动清理日志。 | ??? | Pika |
7 | ping |
使用客户端向 Redis 服务器发送一个 PING ,如果服务器运作正常的话,会返回一个 PONG 。 | 否 | diff |
8 | select |
用于切换到指定的数据库,数据库索引号 index 用数字值指定,以 0 作为起始索引值。 | 否 | |
9 | flushall |
清空整个服务器的数据。 | 是 | |
10 | flushdb |
清空当前数据库。 | 是 | diff |
11 | client |
当前 client 命令支持 client list 及 client kill,client list 显示的内容少于redis。 | ??? | diff |
12 | shutdown |
停止所有客户端,执行保存操作,更新一些文件,关闭服务器。 | 否 | 不需要写权限,但是从结点不应该被允许这么做。 |
13 | info |
获取数据库信息。 | 否 | diff |
14 | config |
查看或设置配置项。 | 否 |
diff 修改的是配置文件,不是数据库,但是从结点不应该被允许这么做。 |
15 | monitor |
实时打印出 Redis 服务器接收到的命令,调试用。 | 否 | |
16 | dbsize |
返回当前数据库的 key 的数量。 | 否 | |
17 | time |
返回当前服务器时间。 | 否 | |
18 | delbackup |
删除dump目录下除正在使用(全同步中)的db快照外的其他快照。 | 否 |
Pika 不需要数据库写权限,但是从结点不应该被允许这么做。 |
19 | echo |
打印给定的字符串。 | 否 | |
21 | scandb |
Pika | ||
22 | slowlog |
慢日志操作命令,可以读取或修改慢日志的内容。 | 否 |
diff 不需要数据库写权限,但是从结点不应该被允许这么做。 |
23 | padding |
Pika | ||
24 | tcmalloc |
??? | 需要 tcmalloc 扩展。 |
|
25 | pkpatternmatchdel |
Pika | ||
26 | dummy |
Pika |
序号 | 命令 | 含义 | 是否需要写权限 | 备注 |
---|---|---|---|---|
1 | set |
设置一个 key。 | 是 | |
2 | get |
获取一个 key 的值。 | 否 | |
3 | del |
删除 key。 | 是 | |
4 | incr |
给一个 key 的值加 1。 | 是 | |
5 | incrby |
给一个 key 的值加上指定的数。 | 是 | |
6 | incrbyfloat |
给一个 key 的值加上指定的浮点数。 | 是 | |
7 | decr |
给一个 key 的值减 1。 | 是 | |
8 | decrby |
给一个 key 的值减去指定的数。 | 是 | |
9 | getset |
设置指定 key 的值,并返回 key 的旧值。 | 是 | |
10 | append |
为指定的 key 追加值。 | 是 | |
11 | mget |
返回所有给定 key 的值。 | 否 | |
12 | keys |
查找所有符合给定模式 pattern 的 key 。 | 否 | diff |
13 | setnx |
指定的 key 不存在时,为 key 设置指定的值。 | 是 | |
14 | setex |
为指定的 key 设置值及其过期时间。 | 是 | |
15 | psetex |
以毫秒为单位设置 key 的生存时间。 | 是 | |
16 | delvx |
Pika | ||
17 | mset |
设置一个或多个 key-value 对。 | 是 | |
18 | msetnx |
用于所有给定 key 都不存在时,同时设置一个或多个 key-value 对。 | 是 | |
19 | getrange |
返回 key 中字符串值的子字符串。 |
否 | |
20 | setrange |
用指定的字符串覆盖给定 key 所储存的字符串值。 | 是 | |
21 | strlen |
获取指定 key 所储存的字符串值的长度。 | 否 | |
22 | exists |
检查给定 key 是否存在。 | 否 | |
23 | expire |
设置 key 的过期时间。 | 是 | |
24 | pexpire |
以毫秒为单位来设置键的到期时间。 | 是 | diff |
25 | expireat |
以 UNIX 时间戳(unix timestamp)格式设置 key 的过期时间。 | 是 | |
26 | pexpireat |
以 UNIX 时间戳(unix timestamp)格式设置 key 的过期时间,以毫秒计。 | 是 | diff |
27 | ttl |
以秒为单位返回 key 的剩余过期时间。 | 否 | |
28 | pttl |
以毫秒为单位返回 key 的剩余过期时间。 | 否 | |
29 | persist |
移除给定 key 的过期时间,使得 key 永不过期。 | 是 | |
30 | type |
返回 key 所储存的值的类型。 | 否 | diff |
31 | scan |
用于迭代数据库中的数据库键。 | 否 | |
32 | scanx |
Pika | ||
33 | pksetexat |
Pika | ||
34 | pkscanrange |
对指定数据结构进行正向scan。 | 否 | Pika |
35 | pkrscanrange |
类似于pkscanrange, 逆序。 | 否 | Pika |
序号 | 命令 | 含义 | 是否需要写权限 | 备注 |
---|---|---|---|---|
1 | hdel |
删除哈希表 key 中的一个或多个指定字段。 | 是 | |
2 | hset |
为哈希表中的字段赋值 。 | 是 | diff |
3 | hget |
返回哈希表中指定字段的值。 | 否 | |
4 | hgetall |
返回哈希表中所有的字段和值。 | 否 | |
5 | hexists |
查看哈希表的指定字段是否存在。 | 否 | |
6 | hincrby |
为哈希表中的字段值加上指定增量值。 | 是 | |
7 | hincrbyfloat |
为哈希表中的字段值加上指定增量的浮点数值。 | 是 | |
8 | hkeys |
获取哈希表中的所有域(field)。 | 否 | |
9 | hlen |
获取哈希表中字段的数量。 | 否 | |
10 | hmget |
返回哈希表中,一个或多个给定字段的值。 | 否 | |
11 | hmset |
同时将多个 field-value (字段-值)对设置到哈希表中。 | 是 | |
12 | hsetnx |
为哈希表中不存在的的字段赋值 。 | 是 | |
13 | hstrlen |
返回哈希表 key 中,与给定域 field 相关联的值的字符串长度。 | 否 | |
14 | hvals |
返回哈希表所有的值。 | 否 | |
15 | hscan |
迭代哈希表中的键值对。 | 否 | |
16 | hscanx |
Pika | ||
17 | pkhscanrange |
列出指定hash table中处于区间的列表。 | 否 | Pika |
18 | pkhrscanrange |
列出指定hash table中处于区间的列表,逆序。 | 否 | Pika |
序号 | 命令 | 含义 | 是否需要写权限 | 备注 |
---|---|---|---|---|
1 | lindex |
通过索引获取列表中的元素。 | 否 | |
2 | linsert |
在列表的元素前或者后插入元素。 | 是 | |
3 | llen |
返回列表的长度。 | 否 | |
4 | lpop |
移除并返回列表的第一个元素。 | 是 | |
5 | lpush |
将一个或多个值插入到列表头部。 | 是 | |
6 | lpushx |
将一个值插入到已存在的列表头部,列表不存在时操作无效。 | 是 | |
7 | lrange |
返回列表中指定区间内的元素。 | 否 | |
8 | lrem |
根据参数 COUNT 的值,移除列表中与参数 VALUE 相等的元素。 | 是 | |
9 | lset |
通过索引来设置元素的值。 | 是 | |
10 | ltrim |
让列表只保留指定区间内的元素,不在指定区间之内的元素都将被删除。 | 是 | |
11 | rpop |
移除列表的最后一个元素,返回值为移除的元素。 | 是 | |
12 | rpoplpush |
移除列表的最后一个元素,并将该元素添加到另一个列表并返回。 | 是 | |
13 | rpush |
将一个或多个值插入到列表的尾部(最右边)。 | 是 | |
14 | rpushx |
将一个值插入到已存在的列表尾部(最右边)。 | 是 |
序号 | 命令 | 含义 | 是否需要写权限 | 备注 |
---|---|---|---|---|
1 | setbit |
对 key 所储存的字符串值,设置或清除指定偏移量上的位(bit)。 | 是 | diff |
2 | getbit |
对 key 所储存的字符串值,获取指定偏移量上的位(bit)。 | 否 | diff |
3 | bitpos |
BITPOS key bit [start] [end] 返回位图中第一个值为 bit 的二进制位的位置。 |
否 | diff |
4 | bitop |
对一个或多个保存二进制位的字符串 key 进行位元操作,并保存结果。 |
是 | diff |
5 | bitcount |
计算给定字符串中,被设置为 1 的比特位的数量。 |
否 | diff |
序号 | 命令 | 含义 | 是否需要写权限 | 备注 |
---|---|---|---|---|
1 | zadd |
将一个或多个成员元素及其分数值加入到有序集当中。 | 是 | diff |
2 | zcard |
返回有序集 key 的基数。 | 否 | |
3 | zscan |
迭代有序集合中的元素。 | 否 | |
4 | zincrby |
对有序集合中指定成员的分数加上增量。 | 是 | |
5 | zrange |
返回有序集中,指定区间内的成员。 | 否 | |
6 | zrangebyscore |
返回有序集合中指定分数区间的成员列表。有序集成员按分数值递增(从小到大)次序排列。 | 否 | |
7 | zcount |
计算有序集合中指定分数区间的成员数量。 | 否 | |
8 | zrem |
移除有序集中的一个或多个成员,不存在的成员将被忽略。 | 是 | |
9 | zunionstore |
计算给定的一个或多个有序集的并集。 | 否 | |
10 | zinterstore |
计算给定的一个或多个有序集的交集。 | 否 | |
11 | zrank |
返回有序集中成员的排名(递增)。 | 否 | |
12 | zrevrank |
返回有序集中成员的排名(递减)。 | 否 | |
13 | zscore |
返回有序集中成员的分数值。 | 否 | |
14 | zrevrange |
返回有序集中,指定区间内的成员。 | 否 | |
15 | zrevrangebyscore |
返回有序集中指定分数区间内的所有的成员。 | 否 | |
16 | zrangebylex |
通过字典区间返回有序集合的成员。 | 否 | |
17 | zrevrangebylex |
通过字典区间返回有序集合的成员(逆序)。 | 否 | |
18 | zlexcount |
计算有序集合中指定字典区间内成员数量。 | 否 | |
19 | zremrangebyrank |
移除有序集中,指定排名(rank)区间内的所有成员。 | 是 | |
20 | zremrangebylex |
移除有序集合中给定的字典区间的所有成员。 | 是 | |
21 | zremrangebyscore |
移除有序集中,指定分数(score)区间内的所有成员。 | 是 | |
22 | zpopmax |
删除并返回按键存储的排序集合中分数最高的成员。 | 是 | |
23 | zpopmin |
删除并返回按键存储的排序集合中分数最低的成员。 | 是 |
序号 | 命令 | 含义 | 是否需要写权限 | 备注 |
---|---|---|---|---|
1 | sadd |
将一个或多个成员元素加入到集合中。 | 是 | |
2 | spop |
移除集合中的指定 key 的一个或多个随机元素,移除后会返回移除的元素。 | 是 | |
3 | scard |
返回 集合 KEY 的基数(集合中元素的数量)。 | 否 | |
4 | smembers |
返回集合中的所有的成员。 | 否 | |
5 | sscan |
迭代集合中键的元素。 | 否 | |
6 | srem |
移除集合中的一个或多个成员元素。 | 是 | |
7 | sunion |
返回给定集合的并集。 | 否 | |
8 | sunionstore |
将给定集合的并集存储在指定的集合中。 | 是 | |
9 | sinter |
返回给定集合的交集。 | 否 | |
10 | sinterstore |
将给定集合的交集存储在指定的集合中。 | 是 | |
11 | sismember |
判断成员元素是否是集合的成员。 | 否 | |
12 | sdiff |
返回第一个集合与其他集合之间的差异,也可以认为说第一个集合中独有的元素。 | 否 | |
13 | sdiffstore |
将给定集合之间的差集存储在指定的集合中。 | 是 | |
14 | smove |
将指定成员从一个集合移动到另一个集合。 | 是 | |
15 | srandmember |
返回集合中的一个随机元素。 | 否 | diff |
序号 | 命令 | 含义 | 是否需要写权限 | 备注 |
---|---|---|---|---|
1 | pfadd |
将所有元素参数添加到 HyperLogLog 数据结构中。 | 是 | |
2 | pfcount |
返回给定 HyperLogLog 的基数估算值。 | 否 | |
3 | pfmerge |
将多个 HyperLogLog 合并为一个 HyperLogLog。 | 是 |
序号 | 命令 | 含义 | 是否需要写权限 | 备注 |
---|---|---|---|---|
1 | geoadd |
添加地理位置的坐标。 | 是 | |
2 | geopos |
获取地理位置的坐标。 | 否 | |
3 | geodist |
计算两个位置之间的距离。 | 否 | |
4 | geohash |
返回一个或多个位置对象的 geohash 值。 | 否 | |
5 | georadius |
根据用户给定的经纬度坐标来获取指定范围内的地理位置集合。 | 否 | |
6 | georadiusbymember |
根据储存在位置集合里面的某个地点获取指定范围内的地理位置集合。 | 否 |
序号 | 命令 | 含义 | 是否需要写权限 | 备注 |
---|---|---|---|---|
1 | publish |
用于将信息发送到指定的频道。 | ??? | |
2 | subscribe |
订阅给定的一个或多个频道的信息。 | ??? | |
3 | unsubscribe |
退订给定的一个或多个频道的信息。 | ??? | |
4 | pubsub |
查看订阅与发布系统状态。 | 否 | |
5 | psubscribe |
订阅一个或多个符合给定模式的频道。 | ??? | |
6 | punsubscribe |
退订所有给定模式的频道。 | ??? |
序号 | 命令 | 含义 | 是否需要写权限 | 备注 |
---|---|---|---|---|
1 | slotsinfo |
|||
2 | slotshashkey |
|||
3 | slotsmgrttagslot-async |
|||
4 | slotsmgrtslot-async |
|||
5 | slotsdel |
|||
6 | slotsscan |
|||
7 | slotsmgrt-exec-wrapper |
|||
8 | slotsmgrt-async-status |
|||
9 | slotsmgrt-async-cancel |
|||
10 | slotsmgrtslot |
|||
11 | slotsmgrttagslot |
|||
12 | slotsmgrtone |
|||
13 | slotsmgrttagone |
序号 | 命令 | 含义 | 是否需要写权限 | 备注 |
---|---|---|---|---|
1 | pkclusterinfo |
Pika | ||
2 | pkclusteraddslots |
Pika | ||
3 | pkclusterdelslots |
Pika | ||
4 | pkclusterslotsslaveof |
Pika | ||
5 | pkclusteraddtable |
Pika | ||
6 | pkclusterdeltable |
Pika | ||
7 | pkcluster |
Pika |
这里已经把上述所有需要写权限的命令添加黑名单了,可以直接复制。
暂时这写了确定为是的命令,不确定的都没写。
userblacklist : flushall, flushdb, set, del, incr, incrby, incrbyfloat, decr, decrby, getset, append, setnx, setex, psetex, mset, msetnx, setrange, expire, pexpire, expireat, pexpireat, persist, hdel, hset, hincrby, hincrbyfloat, hmset, hsetnx, linsert, lpop, lpush, lpushx, lrem, lset, ltrim, rpop, rpoplpush, rpush, rpushx, setbit, bitop, zadd, zincrby, zrem, zremrangebyrank, zremrangebylex, zremrangebyscore, zpopmax, zpopmin, sadd, spop, srem, sunionstore, sinterstore, sdiffstore, smove, pfadd, pfmerge, geoadd