REDIS常用命令操作(带截屏)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
REDIS常用命令操作
准备
在本地下载并安装redis客户端后,在windows命令行窗口通过cd命令进入bin目录,运行redis-cli.exe 进入命令行操作界面,如下图所示:
常用命令
Key(键)
DEL
业务场景:
删除不需要使用的一个或多个KEY
不存在的KEY会被忽略
参数说明:
DEL key [key…..]
这个key就是要删除的键,如果要删除多个key,则多个key之间以空格分隔返回值:
被删除key的数量
使用示例:
EXISTS
业务场景:
验证是否存在某个key
参数说明:
Exists key
key代表要判断的键
返回值:
如果key存在,则返回1,不存在则返回0
使用示例:
KEYS
业务场景:
查找当前redis数据库中有哪些key
参数说明:
Keys pattern
其中pattern为正则表达式,其正则语法完全同原生的正则语法一样
比如:
Keys * 匹配数据库中所有key
Keys h?llo 匹配hello、hallo、hxllo等,?代表任意一个字符 Keys h*llo 匹配hllo、heeeeeello等
Keys h[ae]llo 仅匹配hello和hallo
返回值:
符合给定模式的key列表
使用示例:
String(字符串)
DECR
业务场景:
将key中所存储的数字值减1
如果key不存在,那么key的值会先初始化为0,然后再执行DECR操作
如果值包含错误的类型或者字符串类型的值不能表示为数字,那么返回一个错误本操作的值限制在64位(bit)有符号数字表示之内
参数说明:
DECR key
key为操作的键
返回值:
减一后的值
使用示例:
DECRBY
将key中所存储的数字值减去指定的值
如果key不存在,那么key的值会先初始化为0,然后再执行DECR操作
如果值包含错误的类型或者字符串类型的值不能表示为数字,那么返回一个错误本操作的值限制在64位(bit)有符号数字表示之内
参数说明:
DECR key decrement
key为操作的键
decrement为减量
返回值:
操作后的值
使用示例:
GET
业务场景:
返回key所关联的字符串值
如果key不存在,则返回nil
如果key存储的值不是字符串类型,返回异常
参数说明:
Get key
key为操作的键
key存在 key对应的值
key不存在 nil
key存储的值类型不对返回错误
使用示例:
INCR
业务场景:
将key中所存储的数字值加1
如果key不存在,那么key的值会先初始化为0,然后再执行INCR操作
如果值包含错误的类型或者字符串类型的值不能表示为数字,那么返回一个错误本操作的值限制在64位(bit)有符号数字表示之内
参数说明:
INCR key
key为操作的键
返回值:
加一后的值
使用示例:
INCRBY
业务场景:
将key中所存储的数字值加指定增量
如果key不存在,那么key的值会先初始化为0,然后再执行INCR操作
如果值包含错误的类型或者字符串类型的值不能表示为数字,那么返回一个错误本操作的值限制在64位(bit)有符号数字表示之内
参数说明:
INCR key increment
key为操作的键
increment 增量
返回值:
操作后的值
使用示例:
SET
业务场景:
将指定字符串值设置到指定的key中存储
如果指定的key中已经有其它类型的值或同类型不通值,则默认覆盖
参数说明:
Set key value [EX seconds] [PX milliseconds] [NX|XX]
Key 存储值得键
Value 要存储的值
上面方括号中的参数从redis版本2.6.12开始才支持:
EX seconds 设置键的过期时间为second秒
PX milliseconds 设置键的过期时间为millisecond毫秒
NX 只有在键不存在时,才对键进行设置操作
XX 只有在键存在时,才对键进行操作
返回值:
redis2.6.12版本以前返回OK
redis2.6.12版本以后设置操作成功完成时才返回OK 使用示例:
STRLEN
业务场景:
返回key所存储的字符串值得长度
当key存储的不是字符串值时,返回一个错误
参数说明:
Strlen key
Key 操作的键
返回值:
key存在 key中字符串的长度
key不存在 0
key存储的不是字符串值异常信息
使用示例:
Hash(哈希表)
相当于key中保存的一个map,其域相当于map中的key,域的值相当于map中的value HDEL
业务场景:
删除哈希表key中的一个或多个指定域值,不存在的将被忽略执行
参数说明:
HDEL key filed [field….]
Key 存储hash表的key
Field 要删除的域值,多个field用空格分隔,如果要删除多个需要redis版本在2.4以上返回值:
被成功移除的数量,不包括被忽略的域值
使用示例:
HEXISTS
业务场景:
查看哈希表key中,给定域field是否存在
参数说明:
Hexists key field
Key 保存哈希表的键
Field 存储对应值得域,相当于map中的key 返回值:
存在域返回1
不存在域或key不存在返回0
使用示例:
HGET
业务场景:
返回hash表key中给定域的值
参数说明:
Hget key field
Key 保存哈希表的键
Field 存储对应值得域,相当于map中的key 返回值:
给定域的值
给定域不存在或者给定key不存在时,返回nil 使用示例:
HKEYS
业务场景:
返回哈希表中的所有域,相当于返回map中的所有key 参数说明:
HKEYS key
Key 保存哈希表的键
返回值:
包含哈希表中所有域的集合
如果key不存在,则返回空集合
使用示例:
HLEN
业务场景:
返回哈希表中key中域的数量
参数说明:
HLEN key
Key 保存哈希表的键
返回值:
哈希表中域的数量
如果key不存在,则返回0
使用示例:
HSETNX
业务场景:
当且仅当域存在时,将哈希表key中的域的值设置为指定值
如果域已存在时,该操作无效
如果key不存在时,一个新哈希表被创建并执行HSETNX命令参数说明:
HSETNX key field value
Key 保存哈希表的键
Field 要设置的域
Value 要设置的值
返回值:
设置成功,返回1
给定域已经存在且没有操作被执行,返回0
使用示例:
List(列表)
类似于JAVA中的List集合,保存元素有序可重复
LLEN
业务场景:
返回列表的长度
如果列表不存在,则key被解释为一个空列表,返回0 如果key不是列表,则返回一个错误
参数说明:
LLEN key
Key保存集合的键
返回值:
key存在列表key的长度
key不存在 0
key类型错误异常信息
使用示例:
LPUSH
业务场景:
将一个或多个值插入到列表key的表头
如果有多个值,那么各个值按从左到右的顺序依次插入到表头,比如说:
对空列表mylist执行LPUSH mylist a b c
列表的值则是c-b-a
如果列表key不存在,则创建一个以此命令的新列表并执行LPUSH操作
如果key存在但不是列表类型,则直接返回错误信息
参数说明:
LPUSH key value [value1 value2 value3 …….]
Key 列表
Value 要插入的值(如果有多个,就像方括号中那样写value1 value2 value3…..)返回值:
执行LPUSH后列表key的长度
使用示例:
LPOP
业务场景:
移除并返回列表key的头元素参数说明:
LPOP key
Key 操作的列表
返回值:
列表的头元素
列表不存在时,返回nil
使用示例:
LPUSHX
业务场景:
当且仅当列表key存在,将值value插入到列表key的表头它和LPUSH刚好相反
参数说明:
LPUSHX key value
Key 列表
Value 要插入的值
返回值:
LPUSHX执行过后,列表的长度
使用示例:
RPOP
业务场景:
移除并返回列表key的尾元素参数说明:
RPOP key
Key 操作的列表
返回值:
列表的尾元素
列表不存在时,返回nil
使用示例:
RPUSH
业务场景:
将一个或多个值插入到列表key的表尾(最右边或者说最下边)
如果有多个值,那么各个值按从左到右的顺序依次插入到表尾,比如说:
对空列表mylist执行LPUSH mylist a b c
列表的值则是c-b-a
如果列表key不存在,则创建一个以此命令的新列表并执行LPUSH操作
如果key存在但不是列表类型,则直接返回错误信息
参数说明:
RPUSH key value [value1 value2 value3 …….]
Key 列表
Value 要插入的值(如果有多个,就像方括号中那样写value1 value2 value3…..)返回值:
执行RPUSH后列表key的长度
使用示例:
RPUSHX
业务场景:
当且仅当列表key存在,将值value插入到列表key的表尾它和RPUSH刚好相反
参数说明:
RPUSHX key value
Key 列表
Value 要插入的值
返回值:
RPUSHX执行过后,列表的长度
使用示例:
Set(集合)
类似于JAVA中的Set,保存元素无序不可重复
SADD
业务场景:
将一个或多个元素值添加到集合key中,已经存在集合key中的元素将忽略添加如果集合key不存在,则默认创建一个包含所要添加元素值得集合key
如果key存在但是不是集合类型,则返回错误
参数说明:
SADD key member [member1 member2 member3……]
Key 集合key
Member 要添加的元素值
返回值:
成功添加到集合key中的元素数量
使用示例:
SCARD
业务场景:
返回集合key中的基数(就是集合key中元素的数量)参数说明:
SCARD key
Key 集合key
返回值:
集合中元素的数量
key不存在时,返回0
使用示例:
SMEMBERS
业务场景:
返回集合key中的所有成员
如果集合key不存在,则返回空信息参数说明:
SMEMBERS key
Key 集合key
返回值:
集合key中的所有成员
使用示例:
SortedSet(有序集合)
除了一点:这种集合保存的元素是有序的,其它同Set
而这种有序是靠保存的score值为唯一标识
ZADD
业务场景:
将一个或多个member元素及其score值添加到有序集合key中
如果某个member元素已经是有序集合key的成员,那么更新这个member成员的score值并重新插入这个member元素,以保证该member在正确的位置上
如果有序集合key不存在,则默认创建一个空的有序集合并执行ZADD操作
如果key存在但不是有序集合,则返回错误信息
需要说明的是:score值可以是整数值或双精度浮点数
参数说明:
ZADD key score member [[score1 member1] [score2 member2] [score3 member3]…..]
Key 有序集合key
Score 标识member元素的位置
Member 要保存的元素值
返回值:
被成功添加的新成员的数量,不包括那些被更新的、已经存在的成员使用示例:
ZCARD
业务场景:
返回有序集合key中的元素数量(基数)
参数说明:
ZCARD key
Key 有序集合
返回值:
当key存在且是有序集合返回元素数量
当key不存在时返回0
使用示例:
ZRANGE
业务场景:
返回有序集合中,指定区间的元素
有序集合中元素的位置默认按score值递增排序
具有相同score值得的元素内容按照字典(自然顺序,比如说a<b<c<d<e)排序
指定区间用下标表示,下标默认从0开始计数,起始下标和截止下标超限不会引起错误
该命令默认值返回元素,如果想要同时返回score,可以在命令后追加WITHSCORES选项,显示如下:value1,score1,value2,score2………
参数说明:
ZRANGE key start stop [WITHSCORES]
Key 有序集合
Start 起始下标(默认从0 开始)
Stop 截止下标
WITHSCORES 追加该参数后表示要同时显示score值
返回值:
指定区间内,可带score值或者不带score值的有序集合中成员的列表
使用示例:
ZREM
业务场景:
移除有序集合中的一个或多个成员,指定要删除的成员不存在的话就被忽略如果key存在但是不是有序集合,则返回错误信息
参数说明:
ZREM key member [member1 member2 member3 member3]
Key 有序集合
Member 要删除的成员
返回值:
成功被删除的成员数量,有序集合中不存在的成员忽略不计
使用示例:
Connection(连接)
SELECT
业务场景:
当要指定使用redis 0-15号中的其中一个数据库而不使用默认数据库时,就需要通过该命令切换到指定数据库
数据库索引号index用数字值指定,从0开始
默认使用0号数据库
参数说明:
SELECT index
Index 数据库索引号
返回值:
OK
使用示例:
Server(服务器)
FLUSHDB
业务场景:
当业务需要清空数据库所有key时,则可以通过该命令实现。
注意:该命令只清空当前索引号指定的数据库中的keys
参数说明:
无参数
返回值:
总是返回OK
使用示例:
FLUSHALL
业务场景:
当业务需要清空数据库所有key时,则可以通过该命令实现。
注意:该命令清空整个redis服务器中的keys 参数说明:
无参数
返回值:
总是返回OK
使用示例:
无。