refactor command command

This commit is contained in:
hdt3213
2023-05-04 23:03:06 +08:00
committed by finley
parent 1e767b6797
commit 68d7f28b1a
15 changed files with 434 additions and 422 deletions

View File

@@ -410,37 +410,34 @@ func execCopy(mdb *Server, conn redis.Connection, args [][]byte) redis.Reply {
}
func init() {
RegisterCommand("Del", execDel, writeAllKeys, undoDel, -2, flagWrite)
RegisterCommand("Expire", execExpire, writeFirstKey, undoExpire, 3, flagWrite)
RegisterCommand("ExpireAt", execExpireAt, writeFirstKey, undoExpire, 3, flagWrite)
RegisterCommand("ExpireTime", execExpireTime, readFirstKey, nil, 2, flagReadOnly)
RegisterCommand("PExpire", execPExpire, writeFirstKey, undoExpire, 3, flagWrite)
RegisterCommand("PExpireAt", execPExpireAt, writeFirstKey, undoExpire, 3, flagWrite)
RegisterCommand("PExpireTime", execPExpireTime, readFirstKey, nil, 2, flagReadOnly)
RegisterCommand("TTL", execTTL, readFirstKey, nil, 2, flagReadOnly)
RegisterCommand("PTTL", execPTTL, readFirstKey, nil, 2, flagReadOnly)
RegisterCommand("Persist", execPersist, writeFirstKey, undoExpire, 2, flagWrite)
RegisterCommand("Exists", execExists, readAllKeys, nil, -2, flagReadOnly)
RegisterCommand("Type", execType, readFirstKey, nil, 2, flagReadOnly)
RegisterCommand("Rename", execRename, prepareRename, undoRename, 3, flagReadOnly)
RegisterCommand("RenameNx", execRenameNx, prepareRename, undoRename, 3, flagReadOnly)
RegisterCommand("Keys", execKeys, noPrepare, nil, 2, flagReadOnly)
}
func init() {
RegisterGodisCommand("Del", -2, []string{Write}, 1, -1, 1, writeAllKeys)
RegisterGodisCommand("Expire", 3, []string{Write, Fast}, 1, 1, 1, writeFirstKey)
RegisterGodisCommand("ExpireAt", 3, []string{Write, Fast}, 1, 1, 1, writeFirstKey)
RegisterGodisCommand("ExpireTime", 2, []string{Write, Fast}, 1, 1, 1, readFirstKey)
RegisterGodisCommand("PExpire", 3, []string{Write, Fast}, 1, 1, 1, writeFirstKey)
RegisterGodisCommand("PExpireAt", 3, []string{Write, Fast}, 1, 1, 1, writeFirstKey)
RegisterGodisCommand("PExpireTime", 2, []string{Write, Fast}, 1, 1, 1, readFirstKey)
RegisterGodisCommand("TTL", 2, []string{Readonly, Random, Fast}, 1, 1, 1, readFirstKey)
RegisterGodisCommand("PTTL", 2, []string{Readonly, Random, Fast}, 1, 1, 1, readFirstKey)
RegisterGodisCommand("Persist", 2, []string{Write, Fast}, 1, 1, 1, writeFirstKey)
RegisterGodisCommand("Exists", -2, []string{Readonly, Fast}, 1, 1, 1, readAllKeys)
RegisterGodisCommand("Type", 2, []string{Readonly, Fast}, 1, 1, 1, readFirstKey)
RegisterGodisCommand("Rename", 3, []string{Write}, 1, 1, 1, prepareRename)
RegisterGodisCommand("RenameNx", 3, []string{Write, Fast}, 1, 1, 1, prepareRename)
RegisterGodisCommand("Keys", 2, []string{Readonly, SortForScript}, 1, 1, 1, nil)
registerCommand("Del", execDel, writeAllKeys, undoDel, -2, flagWrite).
attachCommandExtra([]string{redisFlagWrite}, 1, -1, 1)
registerCommand("Expire", execExpire, writeFirstKey, undoExpire, 3, flagWrite).
attachCommandExtra([]string{redisFlagWrite, redisFlagFast}, 1, 1, 1)
registerCommand("ExpireAt", execExpireAt, writeFirstKey, undoExpire, 3, flagWrite).
attachCommandExtra([]string{redisFlagWrite, redisFlagFast}, 1, 1, 1)
registerCommand("ExpireTime", execExpireTime, readFirstKey, nil, 2, flagReadOnly).
attachCommandExtra([]string{redisFlagWrite, redisFlagFast}, 1, 1, 1)
registerCommand("PExpire", execPExpire, writeFirstKey, undoExpire, 3, flagWrite).
attachCommandExtra([]string{redisFlagWrite, redisFlagFast}, 1, 1, 1)
registerCommand("PExpireAt", execPExpireAt, writeFirstKey, undoExpire, 3, flagWrite).
attachCommandExtra([]string{redisFlagWrite, redisFlagFast}, 1, 1, 1)
registerCommand("PExpireTime", execPExpireTime, readFirstKey, nil, 2, flagReadOnly).
attachCommandExtra([]string{redisFlagWrite, redisFlagFast}, 1, 1, 1)
registerCommand("TTL", execTTL, readFirstKey, nil, 2, flagReadOnly).
attachCommandExtra([]string{redisFlagReadonly, redisFlagRandom, redisFlagFast}, 1, 1, 1)
registerCommand("PTTL", execPTTL, readFirstKey, nil, 2, flagReadOnly).
attachCommandExtra([]string{redisFlagReadonly, redisFlagRandom, redisFlagFast}, 1, 1, 1)
registerCommand("Persist", execPersist, writeFirstKey, undoExpire, 2, flagWrite).
attachCommandExtra([]string{redisFlagWrite, redisFlagFast}, 1, 1, 1)
registerCommand("Exists", execExists, readAllKeys, nil, -2, flagReadOnly).
attachCommandExtra([]string{redisFlagReadonly, redisFlagFast}, 1, 1, 1)
registerCommand("Type", execType, readFirstKey, nil, 2, flagReadOnly).
attachCommandExtra([]string{redisFlagReadonly, redisFlagFast}, 1, 1, 1)
registerCommand("Rename", execRename, prepareRename, undoRename, 3, flagReadOnly).
attachCommandExtra([]string{redisFlagWrite}, 1, 1, 1)
registerCommand("RenameNx", execRenameNx, prepareRename, undoRename, 3, flagReadOnly).
attachCommandExtra([]string{redisFlagWrite, redisFlagFast}, 1, 1, 1)
registerCommand("Keys", execKeys, noPrepare, nil, 2, flagReadOnly).
attachCommandExtra([]string{redisFlagReadonly, redisFlagSortForScript}, 1, 1, 1)
}