网站建设商务代表故事,营销型外贸网站建设公司,女子医院网站设计怎么做,建设银行储蓄卡余额查询系统redis连接命令
要在 redis 服务上执行命令需要一个 redis 客户端。Redis 客户端在我们之前安装redis 的src目录下#xff0c;具体为/usr/local/redis/src。注意此redis实例没有设置密码#xff0c;如果设置了密码需要先使用命令AUTH执行验证或者开始在命令行中通过-a指定。 …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中密码的设置方法有两种
方法一通过命令设置密码缺点就是临时生效重启服务器后密码失效通过redis-cli连接后使用如下命令 config set requirepass 123456 执行完毕无需重启退出客户端重新登录就需要输入密码了 。方法二通过配置文件redis.conf设置密码永久生效 修改redis.conf中requirepass这行后面跟的就是密码默认是注释掉的即不需要密码。将该行#号删除后设置自己想要的密码并重启redis服务即可。
实际使用中生成环境可能之前没有设置密码但是现在需要设置但是又不能立马重启redis服务可以通过方法一 方法二来设置密码。临时设置一个密码并修改配置文件不重启服务。
通用命令
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 INFO keyspace
# Keyspace
db0:keys7,expires0,avg_ttl0
127.0.0.1:6379 更多关于redis的知识分享请前往博客主页。编写过程中难免出现差错敬请指出