Redis 命令工具
source link: https://www.cnblogs.com/sl08/p/17725930.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
--- Redis 命令工具 ---
redis-server Redis 服务器启动命令 redis-cli shutdown 停止服务 redis-benchmark:性能测试工具,用于检测 Redis 在本机的运行效率 redis-check-aof:修复有问题的 AOF 持久化文件 redis-check-rdb:修复有问题的 RDB 持久化文件 redis-cli:Redis 客户端命令行工具 redis-sentinel:Redis 哨兵集群使用
redis-cli 命令行工具
语法:redis-cli -h host -p port [-a password]
-h :指定远程主机 -p :指定 Redis 服务的端口号 -a :指定密码,未设置数据库密码可以省略-a 选项 若不添加任何选项表示,则使用 127.0.0.1:6379 连接本机上的 Redis 数据库 redis-cli -h 192.168.80.10 -p 6379 -a 'abc123'
redis-benchmark 测试工具
redis-benchmark 是官方自带的 Redis 性能测试工具,可以有效的测试 Redis 服务的性能。 基本的测试语法:redis-benchmark [选项] [选项值]。
-h :指定服务器主机名。 -p :指定服务器端口。 -s :指定服务器 socket -c :指定并发连接数。 -n :指定请求数。 -d :以字节的形式指定 SET/GET 值的数据大小。 -k :1=keep alive 0=reconnect 。 -r :SET/GET/INCR 使用随机 key, SADD 使用随机值。 -P :通过管道传输<numreq>请求。 -q :强制退出 redis。仅显示 query/sec 值。 --csv :以 CSV 格式输出。 -l :生成循环,永久执行测试。 -t :仅运行以逗号分隔的测试命令列表。 -I :Idle 模式。仅打开 N 个 idle 连接并等待。
#向 IP 地址为 192.168.80.10、端口为 6379 的 Redis 服务器发送 100 个并发连接与 100000 个请求测试性能
redis-benchmark -h 192.168.80.10 -p 6379 -c 100 -n 100000 -a [密码]
#测试存取大小为 100 字节的数据包的性能
redis-benchmark -h 192.168.80.10 -p 6379 -q -d 100
#测试本机上 Redis 服务在进行 set 与 lpush 操作时的性能 redis-benchmark -t set,lpush -n 100000 -q
---------------------- Redis 数据库常用命令 ---------------------------------------- set:存放数据,命令格式为 set key value get:获取数据,命令格式为 get key
127.0.0.1:6379> set teacher zhangsan OK 127.0.0.1:6379> get teacher "zhangsan"
keys 命令可以取符合规则的键值列表,通常情况可以结合*、?等选项来使用。
#创建键与值 127.0.0.1:6379> set k1 1 127.0.0.1:6379> set k2 127.0.0.1:6379> set k3 3 127.0.0.1:6379> set v1 4 127.0.0.1:6379> set v5 5 127.0.0.1:6379> set v22 5
127.0.0.1:6379> KEYS * #查看当前数据库中所有键
127.0.0.1:6379> KEYS v* #查看当前数据库中以 v 开头的数据
127.0.0.1:6379> KEYS v? #查看当前数据库中以 v 开头后面包含任意一位的数据
127.0.0.1:6379> KEYS v?? #查看当前数据库中以 v 开头 v 开头后面包含任意两位的数据
exists 命令可以判断键值是否存在。
127.0.0.1:6379> exists teacher #判断 teacher 键是否存在 (integer) 1 # 1 表示 teacher 键是存在 127.0.0.1:6379> exists tea (integer) 0 # 0 表示 tea 键不存在
del 命令可以删除当前数据库的指定 key。
127.0.0.1:6379> keys * 127.0.0.1:6379> del v5 127.0.0.1:6379> get v5
type 命令可以获取 key 对应的 value 值类型。
127.0.0.1:6379> type k1 string
#expire 命令可以为给定的 key 设置过期时间
127.0.0.1:6379> expire k1 10 #设置 k1 键的过期时间为 10 秒
#ttl 命令可以查看 key 还有多少秒过期,-1表示永不过期,-2表示已过期
127.0.0.1:6379> ttl k1
rename 命令是对已有 key 进行重命名。(覆盖)
命令格式:rename 源key 目标key 使用rename命令进行重命名时,无论目标key是否存在都进行重命名,且源key的值会覆盖目标key的值。在实际使用过程中,建议先用 exists 命令查看目标 key 是否存在,然后再决定是否执行 rename 命令,以避免覆盖重要数据。
127.0.0.1:6379> keys v* 1) "v1" 2) "v22" 127.0.0.1:6379> rename v22 v2 OK 127.0.0.1:6379> keys v* 1) "v1" 2) "v2" 127.0.0.1:6379> get v1 "4" 127.0.0.1:6379> get v2 "5" 127.0.0.1:6379> rename v1 v2 OK 127.0.0.1:6379> get v1 (nil) 127.0.0.1:6379> get v2 "4"
renamenx 命令的作用是对已有 key 进行重命名,并检测新名是否存在,如果目标 key 存在则不进行重命名。(不覆盖)
命令格式:renamenx 源key 目标key
127.0.0.1:6379> keys * 127.0.0.1:6379> get teacher "zhangsan" 127.0.0.1:6379> get v2 "4" 127.0.0.1:6379> renamenx v2 teacher (integer) 0 127.0.0.1:6379> keys * 127.0.0.1:6379> get teacher "zhangsan" 127.0.0.1:6379> get v2 "4"
dbsize 命令的作用是查看当前数据库中 key 的数目。
127.0.0.1:6379> dbsize
#使用config set requirepass yourpassword命令设置密码
127.0.0.1:6379> config set requirepass 123456
#使用config get requirepass命令查看密码(一旦设置密码,必须先验证通过密码,否则所有操作不可用)
127.0.0.1:6379> auth 123456 127.0.0.1:6379> config get requirepass
---- Redis 多数据库常用命令 ----
Redis 支持多数据库,Redis 默认情况下包含 16 个数据库,数据库名称是用数字 0-15 来依次命名的。 多数据库相互独立,互不干扰。
#多数据库间切换
命令格式:select 序号 使用 redis-cli 连接 Redis 数据库后,默认使用的是序号为 0 的数据库。
127.0.0.1:6379> select 10 #切换至序号为 10 的数据库 127.0.0.1:6379[10]> select 15 #切换至序号为 15 的数据库 127.0.0.1:6379[15]> select 0 #切换至序号为 0 的数据库
#多数据库间移动数据
格式:move 键值 序号
127.0.0.1:6379> set k1 100 OK 127.0.0.1:6379> get k1 "100"
127.0.0.1:6379> select 1 OK 127.0.0.1:6379[1]> get k1 (nil) 127.0.0.1:6379[1]> select 0 #切换至目标数据库 0 OK 127.0.0.1:6379> get k1 #查看目标数据是否存在 "100"
127.0.0.1:6379> move k1 1 #将数据库 0 中 k1 移动到数据库 1 中 (integer) 1 127.0.0.1:6379> select 1 #切换至目标数据库 1 OK 127.0.0.1:6379[1]> get k1 #查看被移动数据 "100" 127.0.0.1:6379[1]> select 0 OK 127.0.0.1:6379> get k1 #在数据库 0 中无法查看到 k1 的值 (nil)
#清除数据库内数据 FLUSHDB :清空当前数据库数据 FLUSHALL :清空所有数据库的数据,慎用!
__EOF__
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK