系统学习redis之八——redis常用命令

redis提供了丰富的命令对数据库和各种数据库类型进行操作,这些命令可以在linux终端使用,包括以下两种:
1、键值相关命令
2、服务器相关命令

redis命令介绍

一、键值相关命令

  • key:返回满足给定匹配条件的所有key。用表达式*代表取出所有的key
  • exists:确认一个key是否存在,存在即返回1,不存在就返回0
  • del:删除一个key
  • expire:设置一个key的过期时间
  • persist:移除给定的key的过期时间
  • randomkey:随机返回数据库里面的一个key
  • rename:重命名key
  • type:返回指定key的数据类型
  • move:将当前数据库中的key转移到其他数据库中

二、服务器相关命令

  • ping:测试连接是否存活
  • echo:在命令行打印一些内容
  • select:选择进入某个数据库。redis数据库编号从0~15,我们可以选择任意一个数据库来进行数据库的存取。超出0~15的这个范围就会报错
  • quit:退出redis数据库连接,也可以用exit(类似退出MySQL数据库一样)
  • dbsize:返回当前数据库中key的数目
  • info:获取服务器的信息和各种统计值
  • config get:返回制定的配置及其参数值
  • flushdb:删除当前数据库中的所有key
  • flushall:删除所有数据库中的所有key

redis命令操作

一、键值相关命令

1、key:返回满足给定匹配条件的所有key。用表达式*代表取出所有的key
例如:返回redis里面指定的key

[[email protected] redis-4.0.1]# src/redis-cli
127.0.0.1:6379> KEYS *   #取出所有的key,下面的key就是前面实验中创建的所有key
 1) "name"
 2) "myset5"
 3) "myset2"
 4) "user:001"
 5) "list6"
 6) "list1"
 7) "myset1"
 8) "list3"
 9) "zset1"
10) "user:002"
11) "sset2"
12) "email"
13) "myset3"
14) "mail"
15) "sset1"
16) "myset4"
17) "list2"
18) "myset6"
19) "myset7"
20) "list5"
127.0.0.1:6379> KEYS my*   #取出以my开头的所有key
1) "myset5"
2) "myset2"
3) "myset1"
4) "myset3"
5) "myset4"
6) "myset6"
7) "myset7"
127.0.0.1:6379> 

备注,同《系统学习redis之三——redis数据类型之string类型及操作》一样,后面的例子也都在同一台机器一次性操作完毕的,因为后面的代码如果不加上“ [[email protected] redis-4.0.1]# src/redis-cli ”这一句。代码高亮也会格式有问题,所以后面所有的例子中都加上了“[[email protected] redis-4.0.1]# src/redis-cli ”,主要为了格式问题。

2、exists:确认一个key是否存在,存在即返回1,不存在就返回0
例如:确认当前数据库中myset1和myset0是否存在

[[email protected] redis-4.0.1]# src/redis-cli
127.0.0.1:6379> KEYS my*        #查看redis里面所有以my开头的key,有下面这些
1) "myset5"
2) "myset2"
3) "myset1"
4) "myset3"
5) "myset4"
6) "myset6"
7) "myset7"
127.0.0.1:6379> EXISTS myset1       #确认myset1是否存在,从上面看出,是有myset1的,返回1,表示存在
(integer) 1
127.0.0.1:6379> EXISTS myset10      #确认myset10是否存在,从上面看出,是没有myset10的,返回0,表示不存在
(integer) 0
127.0.0.1:6379> 

3、del:删除一个key
例如:删除上面例子中的myset1

[[email protected] redis-4.0.1]# src/redis-cli
127.0.0.1:6379> EXISTS myset1
(integer) 1
127.0.0.1:6379> DEL myset1
(integer) 1
127.0.0.1:6379> EXISTS myset1   #myset1已经不存在了,删除成功
(integer) 0
127.0.0.1:6379> 

4、expire:设置一个key的过期时间
例如:给已经存在名为“age”的key设置过期时间

[[email protected] redis-4.0.1]# src/redis-cli
127.0.0.1:6379> SET age 18   #设置一个新的key名为age,值为18
OK
127.0.0.1:6379> GET age     #查看age
"18"
127.0.0.1:6379> EXPIRE age 10   #给age设置过期时间为10秒
(integer) 1
127.0.0.1:6379> TTL age         #ttl查看age剩下的过期时间,下面的7就表示还有1秒钟过期
(integer) 7
127.0.0.1:6379> TTL age
(integer) 2
127.0.0.1:6379> TTL age     #当过期时间变成了负值,就表示这个key已经过期了
(integer) -2
127.0.0.1:6379> GET age    #再get查看,就已经为空了,注意:不是值被清空,而是整个key都给删除了
(nil)
127.0.0.1:6379> 

5、persist:移除给定的key的过期时间
例如:给上面例子里面数据库1中的age设置20秒过期时间,然后再取消设置

[[email protected] redis-4.0.1]# src/redis-cli
127.0.0.1:6379[1]> GET age
"16"
127.0.0.1:6379[1]> EXPIRE age 20    #设置age的过期前时间为20秒
(integer) 1
127.0.0.1:6379[1]> TTL age      #查看剩余过期时间
(integer) 17
127.0.0.1:6379[1]> TTL age
(integer) 15
127.0.0.1:6379[1]> PERSIST age    #取消设置过期时间
(integer) 1
127.0.0.1:6379[1]> TTL age      #再ttl查看剩余过期时间也返回-1,这里的-1不表示已经过期,表示已经取消过期时间
(integer) -1
127.0.0.1:6379[1]> GET age      #过几分钟再查看,age依然存在,最开始设置的20秒过期时间已经被成功取消
"16"
127.0.0.1:6379[1]> 

6、randomkey:随机返回数据库里面的一个key
例如:随机返回当前数据库里面的key

[[email protected] redis-4.0.1]# src/redis-cli
127.0.0.1:6379> RANDOMKEY
"list6"
127.0.0.1:6379> RANDOMKEY
"list2"
127.0.0.1:6379> RANDOMKEY
"sset2"
127.0.0.1:6379> RANDOMKEY
"myset7"
127.0.0.1:6379> RANDOMKEY
"email"
127.0.0.1:6379> 

7、rename:重命名key
例如:将名字为“mail”的key重命名为“key_new”

[[email protected] redis-4.0.1]# src/redis-cli
127.0.0.1:6379> KEYS  mai*
1) "mail"
127.0.0.1:6379> RENAME mail mail_new
OK
127.0.0.1:6379> KEYS  mai*
1) "mail_new"
127.0.0.1:6379> 

8、type:返回指定key的数据类型
例如:返回当前数据库中list5和name、sset1这几个key的数据类型

[[email protected] redis-4.0.1]# src/redis-cli
127.0.0.1:6379> TYPE list5
list
127.0.0.1:6379> TYPE name
string
127.0.0.1:6379> TYPE sset1      #返回的list、string和zset分别代表这几个key的数据类型
zset
127.0.0.1:6379> 

9、move:将当前数据库中的key转移到其他数据库中
例如:在数据库0中创建名为age的key并设置值为16,然后将age这个key移动到数据库1中

[[email protected] redis-4.0.1]# src/redis-cli
127.0.0.1:6379> SELECT 0     #先进入数据库0,确认age这个key不存在
OK
127.0.0.1:6379> EXISTS age
(integer) 0
127.0.0.1:6379> SELECT 1      #再先进入数据库1,确认age这个key不存在
OK
127.0.0.1:6379[1]> EXISTS age
(integer) 0
127.0.0.1:6379[1]> SELECT 0    #返回数据库0,创建age这个key,并设置值为16
OK
127.0.0.1:6379> SET age 16
OK
127.0.0.1:6379> EXISTS age    #现在age还存在与数据库0中
(integer) 1
127.0.0.1:6379> GET age
"16"
127.0.0.1:6379> MOVE age 1    #将age这个key移动到数据库1中
(integer) 1
127.0.0.1:6379> EXISTS age   #然后再查看,数据库0里面就没有age这个key了
(integer) 0
127.0.0.1:6379> SELECT 1      #进入数据库1中查看,age这个key已经存在,并且值为16
OK
127.0.0.1:6379[1]> EXISTS age
(integer) 1
127.0.0.1:6379[1]> GET age
"16"
127.0.0.1:6379[1]> 

二、服务器相关命令

1、ping:测试连接是否存活
例如:测试当前redis数据库是否存活

[[email protected] redis-4.0.1]# src/redis-cli
127.0.0.1:6379> ping     #返回PONG,表示连接成功,是OK的
PONG
127.0.0.1:6379> ping     #在执行这条命令之前,重开一个窗口,杀掉redis进程,再回来执行这个ping
Could not connect to Redis at 127.0.0.1:6379: Connection refused   #因为redis进程已经在另一个窗口被kill掉,所以连接失败
not connected> ping    #然后在另一个窗口再重新启动redis,再回来ping,返回PONG,连接OK
PONG
127.0.0.1:6379> 

2、echo:在命令行打印一些内容
例如:在当前命令行输出某些内容

[[email protected] redis-4.0.1]# src/redis-cli
127.0.0.1:6379> ECHO crystal
"crystal"
127.0.0.1:6379> ECHO 1990
"1990"
127.0.0.1:6379> 

3、select:选择进入某个数据库。redis数据库编号从0~15,我们可以选择任意一个数据库来进行数据库的存取。超出0~15的这个范围就会报错
例如:选择进入指定的数据库

[[email protected] redis-4.0.1]# src/redis-cli
127.0.0.1:6379> SELECT 1
OK
127.0.0.1:6379[1]> SELECT 10
OK
127.0.0.1:6379[10]> SELECT 18       #18数据库已经超出范围,所以报错
(error) ERR DB index is out of range
127.0.0.1:6379[10]>

4、quit:退出redis数据库连接,也可以用exit(类似退出MySQL数据库一样)
例如:退出当前redis数据库,回到linux系统命令行

[[email protected] redis-4.0.1]# src/redis-cli
127.0.0.1:6379> quit
[[email protected] redis-4.0.1]# src/redis-cli
127.0.0.1:6379>
127.0.0.1:6379> exit
[[email protected] redis-4.0.1]# src/redis-cli
127.0.0.1:6379>

5、dbsize:返回当前数据库中key的数目
例如:返回放钱数据库的key的数量

[[email protected] redis-4.0.1]# src/redis-cli
127.0.0.1:6379> DBSIZE     #返回当前数据库的key的数量,下面返回的18就表示有18个key
(integer) 18
127.0.0.1:6379[1]> SELECT 10    #10数据库没有创建过key,返回的数量就是0
OK
127.0.0.1:6379[10]> DBSIZE
(integer) 0
127.0.0.1:6379[10]> 

6、info:获取服务器的信息和各种统计值
例如:查看当前的数据库服务

[[email protected] redis-4.0.1]# src/redis-cli
127.0.0.1:6379> info
# Server
redis_version:4.0.1
redis_git_sha1:00000000
redis_git_dirty:0
......              #省略若干
127.0.0.1:6379> 

7、config get:返回制定的配置及其参数值
例如:返回执行的配置及其参数值

[[email protected] redis-4.0.1]# src/redis-cli
127.0.0.1:6379> CONFIG GET *      #如果不指定要返回的内容,用*代替,就会返回所有的参数值
  1) "dbfilename"
  2) "dump.rdb"
  3) "requirepass"
  4) ""
  5) "masterauth"
  6) ""
......              #省略若干
127.0.0.1:6379>
127.0.0.1:6379> CONFIG GET dbfilename      #返回dbfilename及其参数值
1) "dbfilename"
2) "dump.rdb"
127.0.0.1:6379> 

8、flushdb:删除当前数据库中的所有key
例如:删除数据库1中的所有key

[[email protected] redis-4.0.1]# src/redis-cli
127.0.0.1:6379> SELECT 1            #先进入数据库1
OK
127.0.0.1:6379[1]> DBSIZE           #查看数据库1的key总数
(integer) 3
127.0.0.1:6379[1]> FLUSHDB      #删除当前库的所有key
OK
127.0.0.1:6379[1]> DBSIZE   #再查看,数据库1已经没有key了
(integer) 0
127.0.0.1:6379[1]>

9、flushall:删除所有数据库中的所有key
例如:清除所有数据库中的所有key

[[email protected] redis-4.0.1]# src/redis-cli
127.0.0.1:6379[1]> SELECT 0     #首先切换到数据库0,里面有18个key
OK
127.0.0.1:6379> DBSIZE
(integer) 18
127.0.0.1:6379> SELECT 1        #再切换到数据库1,里面有3个key
OK
127.0.0.1:6379[1]> DBSIZE
(integer) 3
127.0.0.1:6379[1]> FLUSHALL     #使用flushall清空所有库
OK
127.0.0.1:6379[1]> DBSIZE   #数据库1已经没有了key
(integer) 0
127.0.0.1:6379[1]> SELECT 0     #再回到数据库0,也已经没有了key,所有key都被删除完了
OK
127.0.0.1:6379> DBSIZE
(integer) 0
127.0.0.1:6379>

原文地址:http://blog.51cto.com/10950710/2163942

时间: 2024-11-07 04:47:10

系统学习redis之八——redis常用命令的相关文章

Linux系统学习之路和常用命令及其他系统相关内容

Linux系统学习之路 目录 Linux系统学习之路[第一篇]:Linux目录和基础知识 Linux系统学习之路[第二篇]:文件操作,文件查看,find查找 Linux系统学习之路[第三篇]:grep,vim,压缩功能详解 Linux系统学习之路[第四篇]:mount,rpm,yum,yum组讲解 Linux系统学习之路[第五篇]:用户和用户组管理 Linux系统学习之路[第六篇]:权限管理 Linux系统学习之路[第七篇]:磁盘和文件管理 Linux系统学习之路[第八篇]:LVM逻辑卷和RAI

Redis介绍及常用命令

Redis介绍及常用命令 Redis是一个key-value存储系统.和Memcached类似,但是解决了断电后数据完全丢失的情况,而且她支持更多无化的value类型,除了和string外,还支持lists(链表).sets(集合).zsets(有序集合).Hashes(哈希表)几种数据类型.这些数据类型都支持push/pop.add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的. 博客分类: NoSql---Redis nosqlredis 一 Redis介绍 Red

学习笔记-- 2014-07-07 Linux常用命令

2014-07-07 Linux常用命令 在Linuxtoy.org上看一些文章收集一些常用命令==================一.ps.kill 使用备查二.Ubuntu 提示三则三.最小化安装 Ubuntu四.Linux Mint设置时间 一到三来看linuxtoy.org网站 ===================一.ps.kill 使用备查 ps-查看当前正在运行的进程,示例:$ ps     kill {PID}-通过 PID 来停止任意进程,示例:$ kill 1012    

Linux学习之Vi编辑器常用命令

VI编辑器常常简称为Vi(visual editor),它可以自行输入.删除.查找.替换.复制.粘贴.块操作等多功能编辑器.用户需要根据自己的需求进行定制,这个是其他编辑程序所没有的一个功能.vi 编辑器并不是一个排版程序,它不像Word或WPS那样可以对字体.格式.段落等其他属性进行编排,它只是一个文本编辑程序.没有菜单,只有命令,且命令繁多.vi有3种基本工作模式:命令行模式.文本输入模式和末行模式.. 基本上vi可以分为三种状态, 分别是 游标控制 k 游标向上移  (添数字 移动字符个数

转:Redis介绍及常用命令大全

一 Redis介绍 Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供多种语言的API.从2010年3月15日起,Redis的开发工作由VMware主持. Redis能运行在大多数POSIX(Linux, *BSD, OS X 和Solaris等)系统上,官方没有支持Windows的版本.目前最新的版本是2.2.11,这个版本主要是修复了一个2.2.7版本中遍历方式优化带来的一个bug. 和普通的Key-Value结构不同,R

redis数据类型及常用命令介绍(图文实例)

上图中即为redis中5种基本数据类型,在没接触过redis之前,听过最多相关的字眼就是键值对key-value之类,立马让我想到了HashMap.在HashMap中,key和value的的数据类型都可以指定,value也可以是HashMap类型.而在这里,redis的基本数据类型是针对的value,有这5种. 文中所用测试记录环境在Linux下,命令操作在SSH客户端下,这里使用的是Xshell 5,个人使用感觉很方便,同一系列的Xftp 5用于远程文件上传操作也很不错.如有需要,可直接进入官

redis安装及常用命令

安装之前,最好把防火墙关闭,防止因为防火墙导致各个ip之间通讯受阻 脚本安装redis步骤1,ps -ef|grep redispkill rediscd /usr/local/rm -rf rediscd src/rm -rf redis-4.0.9tar -zxvf redis-4.0.9-v1.tar.gzcd redis-4.0.9/sh install.sh (需要root用户执行) 步骤2,添加集群节点(在1192.168.0.2执行即可)cd /usr/local/redis/sr

【转】redis集群常用命令及说明

一.本文目的 介绍集群的基本情况及常用命令 二.集群的特点 3.集群优缺点 三.集群客户端命令(redis-cli -c -p port) 集群cluster info :打印集群的信息cluster nodes :列出集群当前已知的所有节点( node),以及这些节点的相关信息.节点cluster meet <ip> <port> :将 ip 和 port 所指定的节点添加到集群当中,让它成为集群的一份子.cluster forget <node_id> :从集群中移

redis数据类型及常用命令

一.redis数据类型 Redis的五大数据类型 1.string(字符串) String(字符串) string是redis最基本的类型,你可以理解成与Memcached一模一样的类型,一个key对应一个value. string类型是二进制安全的.意思是redis的string可以包含任何数据.比如jpg图片或者序列化的对象 . string类型是Redis最基本的数据类型,一个redis中字符串value最多可以是512M 2.hash(哈希,类似java里的Map) Hash(哈希) R