手游传奇网站999服,国外免费空间网站申请,网页制作教程赵丰年第三版,东莞有哪几家网络开发公司redis连接命令#xff08;客户端#xff09;
要在 redis 服务上执行命令需要一个 redis 客户端。Redis 客户端在我们之前安装redis 的src目录下#xff0c;具体为/usr/local/redis/src。注意此redis实例没有设置密码#xff0c;如果设置了密码需要先使用命令AUTH执行验证或…redis连接命令客户端
要在 redis 服务上执行命令需要一个 redis 客户端。Redis 客户端在我们之前安装redis 的src目录下具体为/usr/local/redis/src。注意此redis实例没有设置密码如果设置了密码需要先使用命令AUTH执行验证或者开始在命令行中通过-a指定。
本地连接
[rootk8s-m2 src]# cd /usr/local/redis/src
[rootk8s-m2 src]# pwd
/usr/local/redis/src
[rootk8s-m2 src]# ./redis-cli
127.0.0.1:6379 ping
PONG
127.0.0.1:6379在以上实例中我们连接到本地的 redis 服务并执行 PING 命令该命令用于检测 redis 服务是否启动。
远程连接 如果需要在远程 redis 服务上执行命令同样我们使用的也是 redis-cli 命令。如下
[rootk8s-m2 src]# ./redis-cli -h 127.0.0.1 -p 6379
127.0.0.1:6379 PING
PONGredis 连接的基本命令
下表列出了 redis 连接的基本命令
命令说明AUTH password验证密码是否正确ECHO message打印字符串PING查看服务是否运行QUIT关闭当前连接SELECT index切换到指定的数据库默认为0
redis密码设置
简单说一下redis中密码的设置方法有两种
方法一通过命令设置密码缺点就是临时生效重启服务器后密码会失效通过redis-cli连接后使用如下命令 config set requirepass 123456 执行完毕无需重启退出客户端重新登录就需要输入密码了 。方法二通过配置文件redis.conf设置密码永久生效 修改redis.conf中requirepass这行后面跟的就是密码默认是注释掉的即不需要密码。将该行#号删除后设置自己想要的密码并重启redis服务即可。
可以通过如下命令查看设置的密码
127.0.0.1:6379 CONFIG GET requirepass
1) requirepass
2) 123456
127.0.0.1:6379 实际使用中生成环境可能之前没有设置密码但是现在需要设置但是又不能立马重启redis服务为防止重启服务器后密码失效可以通过方法一 方法二来设置密码。临时设置一个密码并修改配置文件不需要重启服务。
Redis服务端
Redis 服务器命令主要是用于管理 redis 服务。下表列出了 redis 服务器的相关命令
命令说明BGREWRITEAOF异步执行一个 AOFAppendOnly File 文件重写操作BGSAVE在后台异步保存当前数据库的数据到磁盘CLIENT KILL [ip:port] [ID client-id]关闭客户端连接CLIENT LIST获取连接到服务器的客户端连接列表CLIENT GETNAME获取连接的名称CLIENT PAUSE timeout在指定时间内终止运行来自客户端的命令CLIENT SETNAME connection-name设置当前连接的名称CLUSTER SLOTS获取集群节点的映射数组COMMAND获取 Redis 命令详情数组COMMAND COUNT获取 Redis 命令总数COMMAND GETKEYS获取给定命令的所有键TIME返回当前服务器时间COMMAND INFO command-name [command-name …]获取指定 Redis 命令描述的数组CONFIG GET parameter获取指定配置参数的值CONFIG REWRITE对启动 Redis 服务器时所指定的 redis.conf 配置文件进行改写CONFIG SET parameter value修改 redis 配置参数无需重启CONFIG RESETSTAT重置 INFO 命令中的某些统计数据DBSIZE返回当前数据库的 key 的数量DEBUG OBJECT key获取 key 的调试信息DEBUG SEGFAULT让 Redis 服务崩溃FLUSHALL删除所有数据库的所有keyFLUSHDB删除当前数据库的所有keyINFO [section]获取 Redis 服务器的各种信息和统计数值LASTSAVE返回最近一次 Redis 成功将数据保存到磁盘上的时间以 UNIX 时间戳格式表示MONITOR实时打印出 Redis 服务器接收到的命令调试用ROLE返回主从实例所属的角色SAVE同步保存数据到硬盘SHUTDOWN [NOSAVE] [SAVE]异步保存数据到硬盘并关闭服务器SLAVEOF host port将当前服务器转变为指定服务器的从属服务器(slave server)SLOWLOG subcommand [argument]管理 redis 的慢日志SYNC用于复制功能(replication)的内部命令
通用命令
keys pattern
用于查找所有符合给定模式pattern的key
命令说明举例keys *遍历所有 keykeys h[ae]*llo遍历以h开头第二个字符为a-e之间的以llo结尾的所有keyh[ae]llo matches hello and hallo, but not hillokeys h?llo?代表一个字符有且只有h?llo matches hello, hallo and hxllokeys h*llo*代表0个或者多个字符h*llo matches hllo and heeeellokeys h[^e]llo^ 代表中间不是e的字符h[^e]llo matches hallo, hbllo, … but not hellodbsize计算 key 的总数
注意keys命令一般不在生产环境中使用
由于生产环境中key的数量可能很多而keys这个命令是一个O(n)的命令由于Redis是单线程的这个命令的操作会阻塞其他操作可以在从节点上执行keys命令使用SCAN命令代替keys命令
示例可以观察一下不同通配符的效果。
127.0.0.1:6379
127.0.0.1:6379 DBSIZE
(integer) 0
127.0.0.1:6379 MSET hello 1 hallo 2 hillo 3 hxllo 4 hllo 5 heeeello 6 hbllo 7
OK
127.0.0.1:6379 DBSIZE
(integer) 7
127.0.0.1:6379 KEYS h[ae]*llo
1) hello
2) hallo
3) heeeello
127.0.0.1:6379 KEYS h?llo
1) hello
2) hallo
3) hbllo
4) hxllo
5) hillo
127.0.0.1:6379 KEYS h*llo
1) hello
2) hallo
3) hbllo
4) heeeello
5) hllo
6) hxllo
7) hillo
127.0.0.1:6379 KEYS h[^e]llo
1) hallo
2) hbllo
3) hxllo
4) hillo
127.0.0.1:6379exists key
用于检查给定的key是否存在。存在返回 1不存在返回 0 。 示例接上面的例子继续
127.0.0.1:6379 EXISTS hello
(integer) 1
127.0.0.1:6379 EXISTS hello1
(integer) 0
127.0.0.1:6379del key1 [key2…]
用于 在 key 存在时删除 key。存在返回 1 不存在返回 0 。 示例接上面的例子继续
127.0.0.1:6379 DEL hello
(integer) 1
127.0.0.1:6379 get hello
(nil)
127.0.0.1:6379 DEL hello
(integer) 0
127.0.0.1:6379 expire key second、ttl key、persist key
命令说明expire key second为给定 key 设置过期时间单位为秒到期后key就不存在了。默认设置的key无过期时间ttl key以秒为单位返回给定key的剩余生存时间TTL , time to live)。不存在 key 返回 -2 无过期时间的 key 返回-1persist key移除 key 的过期时间key 将持久保存
示例接上面的例子继续
127.0.0.1:6379 EXPIRE hallo 10
(integer) 1
127.0.0.1:6379 ttl hallo
(integer) 8
127.0.0.1:6379 ttl hallo
(integer) 2
127.0.0.1:6379 ttl hallo
(integer) -2
127.0.0.1:6379 get hallo
(nil)127.0.0.1:6379 set hello 1
OK
127.0.0.1:6379 ttl hello
(integer) -1
127.0.0.1:6379 expire hello 30
(integer) 1
127.0.0.1:6379 ttl hello
(integer) 26
127.0.0.1:6379 PERSIST hello
(integer) 1
127.0.0.1:6379 ttl hello
(integer) -1
127.0.0.1:6379 type
用于返回 key 所存储的值的类型不存在的 key 返回none 示例接上面的例子继续
127.0.0.1:6379 TYPE hello
string
127.0.0.1:6379 SADD set1 1 2 3
(integer) 3
127.0.0.1:6379 TYPE set1
set
127.0.0.1:6379 TYPE set2
none
127.0.0.1:6379 flushdb、flushall
用于删除key
命令含义flushdb删除当前数据库中的所有 keyflushall删除所有数据库中的 key
更多关于keys的命令
命令说明DUMP key序列化给定 key 并返回被序列化的值。MOVE key db将当前数据库的 key 移动到给定的数据库 db 当中。PTTL key以毫秒为单位返回 key 的剩余的过期时间。RANDOMKEY从当前数据库中随机返回一个 key 。RENAME key newkey修改 key 的名称RENAMENX key newkey仅当 newkey 不存在时将 key 改名为 newkey 。SCAN cursor [MATCH pattern] [COUNT count]迭代数据库中的数据库键。select database_number切换当前使用的数据库默认使用0
查看当前使用redis的信息
INFO命令可以全局查看当前redis的相关信息主要包括Server、Clients、Memory、Persistence、Stats、Replication、CPU、Modules、Cluster、Keyspace。大家可以自行查看一下各模块下面包括的信息。 可以使用 INFO 模块名 具体查看某个模块的信息如下查看当前使用的数据库信息包括可以当前使用的dbkey数量等
127.0.0.1:6379 DBSIZE
(integer) 6
127.0.0.1:6379 MOVE hello 1
(integer) 1
127.0.0.1:6379 INFO keyspace
# Keyspace
db0:keys5,expires0,avg_ttl0
db1:keys1,expires0,avg_ttl0上面的示例是将0 号数据库中hello这个key移到1 号数据库然后通过INFO查看到相关信息。
更多关于redis的知识分享请前往博客主页。编写过程中难免出现差错敬请指出