Redis软件提供了多个命令工具,当Redis 安装时,所包含的软件工具会同时被安装到系统中,在系统中可以直接使用。这些命令工具的作用分别如下所示。
➢redis- -server:用于启动Redis的工具。
➢redis- -benchmark:用于检测Redis在本机的运行效率。
➢redis- -check-aof:修复AOF持久化文件。
➢redis-check -rdb:修复RDB持久化文件。
➢redis-cli: Redis 命令行工具。
➢redis-setinel: redis- -server文件的软链接。
- redis-cli 命令行工具
Redis数据库系统也是一个典型的C/S (客户端/服务器端)架构的应用,要访问Redis数据库需要使用专门的客户端软件。Redis服务的客户端软件就是其自带的redis- -cli 命令行工具,使用redis-cli连接指定数据库,连接成功后会进入提示符为远程主机 IP地址:端口号>"的数据库操作环境。用户可以输入各种操作语句对数据库进行管理,如执行ping命令可以检测Redis服务是否启动。
在进行数据库连接操作时,可以通过选项来指定远程主机上的Redis数据库,命令语法为redis-cli-hhost -pport -a password.其中,-h指定远程主机,一P指定Redis服务的端口号,-a指定密码。若不添加任何选项,表示连接本机上的Redis数据库,若未设置数据库密码,可以省略-a选项。 例如,执行以下命令可连接到主机为192.168.10.161. 端口为6379的Redis数据库,并查看Redis服务的统计信息。若要退出数据库操作环境,执行"exit” 或” quit”命令即可返回原来的Shell环境。
在数据库操作环境中,使用help命令可以获取命令类型的帮助。其中,有三种获取命令帮助的方式。
➢help @: 获取中的命令列表。
➢help : 获取某个命令的帮助。
➢help : 获取可能帮助的主题列表。
- redis-benchmark 测试工具
redis- -benchmark 是官方自带的Redis性能测试工具,可以有效地测试Redis服务的性能。基本的测试语法为redis- benchmark [option] [option value]. 常用选项如下所示。
➢-h: 指定服务器主机名。
➢-p: 指定服务器端口。
➢-s: 指定服务器socket。
➢-c: 指定并发连接数。
➢-n:指定请求数。
➢-d:以字节(B) 的形式指定SET/GET值的数据大小。
➢-k: 1=keep alive 0=reconnect。
➢-r: SET/GET/INCR 使用随机key, SADD使用随机值。
➢-P:通过管道传输 请求。
➢-q:强制退出redis. 仅显示query/sec值。
➢- -csv以CSV格式输出。
➢-I:生成循环,永久执行测试。
➢-t: 仅运行以逗号分隔的测试命令列表。
➢-Idle模式。仅打开N个idle连接并等待。
结合上述选项,可以针对某台Redis 服务器进行性能检测,如执行redis-benchmark -h
192.168.10.161 -p 6379 -c 100 -n 100000命令即可向IP地址为192.168.10.161. 端口为6379的Redis服务器发送100个并发连接与100000个请求测试性能。
执行redis-benchmark -h 192.168.10.161 -p 6379 -q -d 100 命令的作用是测试存取大小为
100B的数据包的性能。
还可以测试某些操作的性能,例如,执行redis- -benchmark -t set, lpush -n 00000 -q命令的作用是测试本机上Redis服务在进行set与lpush操作时的性能。
前面提到,Redis 数据库采用key-value (键值对)的数据存储形式。所使用的命令是set与get
命令。
➢set:存放数据,基本的命令格式为set key value 。
➢get: 获取数据,基本的命令格式为get key.
例如,在Redis的命令行模式下执行“set teacher zhanglong" ,表示在当前数据库下存放- -个key为teacher, value 为zhanglong 的数据,而执行‘get teacher" 命 令即可查看刚才存放的数据。
除了数据存储与获取命令,Redis数据库还包含其它常见的数据管理命令。 - key相关命令
在Redis数据库中,与key相关的命令主要包含以下几种。
- keys
使用keys命令可以取符合规则的键值列表,通常情况可以结合*. ?等选项来使用。
- exists
使用exists命令可以判断键值是否存在。
- del
使用del命令可以删除当前数据库的指定key.
- type
使用type命令可以获取key对应的value值类型。
- rename
rename命令是对已有key进行重命名,其命令格式为“rename 源key目标key 。使用rename命令进行重命名时,无论目标key是否存在都进行重命名,且源key的值会覆盖目标key的值。在实际使用过程中,建议先用exists命令查看目标key是否存在,再决定是否执行rename命令,以避免覆盖重要数据。
- renamenx
renamenx命令的作用是对已有key进行重命名,并检测新名是否存在。其命令格式与rename的命令格式除命令关键字不同外基本相同:‘renamenx 源key目标key’ 。使用renamenx 命令进行重命名时,如果目标key存在则不进行重命名。
- dbsize
dbsize命令的作用是查看当前数据库中key的数目。
- 多数据库常用命令
- 多数据库间切换
Redis支持多数据库, Redis 在没有任何改动的情况下默认包含16个数据库,数据库名称是用数字0~15来依次命名的。使用select命令可以进行Redis 的多数据库之间的切换,命令格式为” selectindex"。其中, index 表示数据库的序号。而使用redis-cli连接Redis数据库后,默认使用的是序号为0的数据库。
如下所示,使用select命令切换数据库后,会在前端的提示符中显示当前所在的数据库序号,如“127.0.0.1:6379[10]>“表示当前使用的是序号为10的数据库;若当前使用的数据库是序号为0的数据库,提示符中则不显示序号,如"127.0.0.1:6379>” 表示当前使用的是序号为0的数据库。
2)多数据库间移动数据
Redis的多数据库在一定程度上是相对独立的。例如,在数据库0上面存放的k1的数据,在其他的1~15的数据库上是无法查看到的。
Redis数据库提供了一个move命令.其可以进行多数据库的数据移动。命令的基本语法格式为"move key dbindex". 其中, key表示当前数据库的目标键, dbindex表示目标数据库的序号。具体操作方法如下所示。
3)清除数据库内数据
Redis数据库的整库数据删除主要分为两个部分:清空当前数据库的数据.使用FLUSHDB命令实现;清空所有数据库的数据,使用FLUSHALL命令实现。但是,数据清空操作比较危险,生产环境下-般不建议使用。