redis命令.docx
- 文档编号:18532976
- 上传时间:2023-08-19
- 格式:DOCX
- 页数:18
- 大小:20.96KB
redis命令.docx
《redis命令.docx》由会员分享,可在线阅读,更多相关《redis命令.docx(18页珍藏版)》请在冰点文库上搜索。
redis命令
1)redis键(key)
语法:
redis127.0.0.1:
6379>COMMANDKEY_NAME
实例:
redis127.0.0.1:
6379>SETw3ckeyredis
OK
redis127.0.0.1:
6379>DELw3ckey
(integer)1
key命令:
1
DELkey该命令用于在key存在是删除key。
2
DUMPkey序列化给定key,并返回被序列化的值。
3
EXISTSkey检查给定key是否存在。
4
EXPIREkeyseconds为给定key设置过期时间。
5
EXPIREATkeytimestampEXPIREAT的作用和EXPIRE类似,都用于为key设置过期时间。
不同在于EXPIREAT命令接受的时间参数是UNIX时间戳(unixtimestamp)。
6
PEXPIREkeymilliseconds设置key的过期时间亿以毫秒计。
7
PEXPIREATkeymilliseconds-timestamp设置key过期时间的时间戳(unixtimestamp)以毫秒计
8
KEYSpattern查找所有符合给定模式(pattern)的key。
9
MOVEkeydb将当前数据库的key移动到给定的数据库db当中。
10
PERSISTkey移除key的过期时间,key将持久保持。
11
PTTLkey以毫秒为单位返回key的剩余的过期时间。
12
TTLkey以秒为单位,返回给定key的剩余生存时间(TTL,timetolive)。
13
RANDOMKEY从当前数据库中随机返回一个key。
14
RENAMEkeynewkey修改key的名称
15
RENAMENXkeynewkey仅当newkey不存在时,将key改名为newkey。
16
TYPEkey返回key所储存的值的类型。
2)字符串(String)
语法:
redis127.0.0.1:
6379>COMMANDKEY_NAME
String命令:
1
SETkeyvalue设置指定key的值
2
GETkey获取指定key的值。
3
GETRANGEkeystartend返回key中字符串值的子字符
4
GETSETkeyvalue将给定key的值设为value,并返回key的旧值(oldvalue)。
5
GETBITkeyoffset对key所储存的字符串值,获取指定偏移量上的位(bit)。
6
MGETkey1[key2..]获取所有(一个或多个)给定key的值。
7
SETBITkeyoffsetvalue对key所储存的字符串值,设置或清除指定偏移量上的位(bit)。
8
SETEXkeysecondsvalue将值value关联到key,并将key的过期时间设为seconds(以秒为单位)。
9
SETNXkeyvalue只有在key不存在时设置key的值。
10
SETRANGEkeyoffsetvalue用value参数覆写给定key所储存的字符串值,从偏移量offset开始。
11
STRLENkey返回key所储存的字符串值的长度。
12
MSETkeyvalue[keyvalue...]同时设置一个或多个key-value对。
13
MSETNXkeyvalue[keyvalue...]同时设置一个或多个key-value对,当且仅当所有给定key都不存在。
14
PSETEXkeymillisecondsvalue这个命令和SETEX命令相似,但它以毫秒为单位设置key的生存时间,而不是像SETEX命令那样,以秒为单位。
15
INCRkey将key中储存的数字值增一。
16
INCRBYkeyincrement将key所储存的值加上给定的增量值(increment)。
17
INCRBYFLOATkeyincrement将key所储存的值加上给定的浮点增量值(increment)。
18
DECRkey将key中储存的数字值减一。
19
DECRBYkeydecrementkey所储存的值减去给定的减量值(decrement)。
20
APPENDkeyvalue如果key已经存在并且是一个字符串,APPEND命令将value追加到key原来的值的末尾。
3)哈希(Hash)
实例:
redis127.0.0.1:
6379>HMSETw3ckeyname"redistutorial"description"redisbasiccommandsforcaching"likes20visitors23000
OK
redis127.0.0.1:
6379>HGETALLw3ckey
1)"name"
2)"redistutorial"
3)"description"
4)"redisbasiccommandsforcaching"
5)"likes"
6)"20"
7)"visitors"
8)"23000"
Hash命令:
1
HDELkeyfield2[field2]删除一个或多个哈希表字段
2
HEXISTSkeyfield查看哈希表key中,指定的字段是否存在。
3
HGETkeyfield获取存储在哈希表中指定字段的值/td>
4
HGETALLkey获取在哈希表中指定key的所有字段和值
5
HINCRBYkeyfieldincrement为哈希表key中的指定字段的整数值加上增量increment。
6
HINCRBYFLOATkeyfieldincrement为哈希表key中的指定字段的浮点数值加上增量increment。
7
HKEYSkey获取所有哈希表中的字段
8
HLENkey获取哈希表中字段的数量
9
HMGETkeyfield1[field2]获取所有给定字段的值
10
HMSETkeyfield1value1[field2value2]同时将多个field-value(域-值)对设置到哈希表key中。
11
HSETkeyfieldvalue将哈希表key中的字段field的值设为value。
12
HSETNXkeyfieldvalue只有在字段field不存在时,设置哈希表字段的值。
13
HVALSkey获取哈希表中所有值
14
HSCANkeycursor[MATCHpattern][COUNTcount]迭代哈希表中的键值对。
4)列表
实例:
redis127.0.0.1:
6379>LPUSHw3ckeyredis
(integer)1
redis127.0.0.1:
6379>LPUSHw3ckeymongodb
(integer)2
redis127.0.0.1:
6379>LPUSHw3ckeymysql
(integer)3
redis127.0.0.1:
6379>LRANGEw3ckey010
1)"mysql"
2)"mongodb"
3)"redis"
列表命令:
1
BLPOPkey1[key2]timeout移出并获取列表的第一个元素,如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止。
2
BRPOPkey1[key2]timeout移出并获取列表的最后一个元素,如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止。
3
BRPOPLPUSHsourcedestinationtimeout从列表中弹出一个值,将弹出的元素插入到另外一个列表中并返回它;如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止。
4
LINDEXkeyindex通过索引获取列表中的元素
5
LINSERTkeyBEFORE|AFTERpivotvalue在列表的元素前或者后插入元素
6
LLENkey获取列表长度
7
LPOPkey移出并获取列表的第一个元素
8
LPUSHkeyvalue1[value2]将一个或多个值插入到列表头部
9
LPUSHXkeyvalue将一个或多个值插入到已存在的列表头部
10
LRANGEkeystartstop获取列表指定范围内的元素
11
LREMkeycountvalue移除列表元素
12
LSETkeyindexvalue通过索引设置列表元素的值
13
LTRIMkeystartstop对一个列表进行修剪(trim),就是说,让列表只保留指定区间内的元素,不在指定区间之内的元素都将被删除。
14
RPOPkey移除并获取列表最后一个元素
15
RPOPLPUSHsourcedestination移除列表的最后一个元素,并将该元素添加到另一个列表并返回
16
RPUSHkeyvalue1[value2]在列表中添加一个或多个值
17
RPUSHXkeyvalue为已存在的列表添加值
5)集合(Set)
实例:
redis127.0.0.1:
6379>SADDw3ckeyredis
(integer)1
redis127.0.0.1:
6379>SADDw3ckeymongodb
(integer)1
redis127.0.0.1:
6379>SADDw3ckeymysql
(integer)1
redis127.0.0.1:
6379>SADDw3ckeymysql
(integer)0
redis127.0.0.1:
6379>SMEMBERSw3ckey
1)"mysql"
2)"mongodb"
3)"redis"
命令:
1
SADDkeymember1[member2]向集合添加一个或多个成员
2
SCARDkey获取集合的成员数
3
SDIFFkey1[key2]返回给定所有集合的差集
4
SDIFFSTOREdestinationkey1[key2]返回给定所有集合的差集并存储在destination中
5
SINTERkey1[key2]返回给定所有集合的交集
6
SINTERSTOREdestinationkey1[key2]返回给定所有集合的交集并存储在destination中
7
SISMEMBERkeymember判断member元素是否是集合key的成员
8
SMEMBERSkey返回集合中的所有成员
9
SMOVEsourcedestinationmember将member元素从source集合移动到destination集合
10
SPOPkey移除并返回集合中的一个随机元素
11
SRANDMEMBERkey[count]返回集合中一个或多个随机数
12
SREMkeymember1[member2]移除集合中一个或多个成员
13
SUNIONkey1[key2]返回所有给定集合的并集
14
SUNIONSTOREdestinationkey1[key2]所有给定集合的并集存储在destination集合中
15
SSCANkeycursor[MATCHpattern][COUNTcount]迭代集合中的元素
6)有序集合(sortedset)
实例:
redis127.0.0.1:
6379>ZADDw3ckey1redis
(integer)1
redis127.0.0.1:
6379>ZADDw3ckey2mongodb
(integer)1
redis127.0.0.1:
6379>ZADDw3ckey3mysql
(integer)1
redis127.0.0.1:
6379>ZADDw3ckey3mysql
(integer)0
redis127.0.0.1:
6379>ZADDw3ckey4mysql
(integer)0
redis127.0.0.1:
6379>ZRANGEw3ckey010WITHSCORES
1)"redis"
2)"1"
3)"mongodb"
4)"2"
5)"mysql"
6)"4"
有序集合命令:
1
ZADDkeyscore1member1[score2member2]向有序集合添加一个或多个成员,或者更新已存在成员的分数
2
ZCARDkey获取有序集合的成员数
3
ZCOUNTkeyminmax计算在有序集合中指定区间分数的成员数
4
ZINCRBYkeyincrementmember有序集合中对指定成员的分数加上增量increment
5
ZINTERSTOREdestinationnumkeyskey[key...]计算给定的一个或多个有序集的交集并将结果集存储在新的有序集合key中
6
ZLEXCOUNTkeyminmax在有序集合中计算指定字典区间内成员数量
7
ZRANGEkeystartstop[WITHSCORES]通过索引区间返回有序集合成指定区间内的成员
8
ZRANGEBYLEXkeyminmax[LIMIToffsetcount]通过字典区间返回有序集合的成员
9
ZRANGEBYSCOREkeyminmax[WITHSCORES][LIMIT]通过分数返回有序集合指定区间内的成员
10
ZRANKkeymember返回有序集合中指定成员的索引
11
ZREMkeymember[member...]移除有序集合中的一个或多个成员
12
ZREMRANGEBYLEXkeyminmax移除有序集合中给定的字典区间的所有成员
13
ZREMRANGEBYRANKkeystartstop移除有序集合中给定的排名区间的所有成员
14
ZREMRANGEBYSCOREkeyminmax移除有序集合中给定的分数区间的所有成员
15
ZREVRANGEkeystartstop[WITHSCORES]返回有序集中指定区间内的成员,通过索引,分数从高到底
16
ZREVRANGEBYSCOREkeymaxmin[WITHSCORES]返回有序集中指定分数区间内的成员,分数从高到低排序
17
ZREVRANKkeymember返回有序集合中指定成员的排名,有序集成员按分数值递减(从大到小)排序
18
ZSCOREkeymember返回有序集中,成员的分数值
19
ZUNIONSTOREdestinationnumkeyskey[key...]计算给定的一个或多个有序集的并集,并存储在新的key中
20
ZSCANkeycursor[MATCHpattern][COUNTcount]迭代有序集合中的元素(包括元素成员和元素分值)
7)发布订阅
实例:
以下实例演示了发布订阅是如何工作的。
在我们实例中我们创建了订阅频道名为redisChat:
redis127.0.0.1:
6379>SUBSCRIBEredisChat
Readingmessages...(pressCtrl-Ctoquit)
1)"subscribe"
2)"redisChat"
3)(integer)1
现在,我们先重新开启个redis客户端,然后在同一个频道redisChat发布两次消息,订阅者就能接收到消息。
redis127.0.0.1:
6379>PUBLISHredisChat"Redisisagreatcachingtechnique"
(integer)1
redis127.0.0.1:
6379>PUBLISHredisChat"Learnredisbyw3cschool.cc"
(integer)1
#订阅者的客户端会显示如下消息
1)"message"
2)"redisChat"
3)"Redisisagreatcachingtechnique"
1)"message"
2)"redisChat"
3)"Learnredisbyw3cschool.cc"
订阅命令:
1
PSUBSCRIBEpattern[pattern...]订阅一个或多个符合给定模式的频道。
2
PUBSUBsubcommand[argument[argument...]]查看订阅与发布系统状态。
3
PUBLISHchannelmessage将信息发送到指定的频道。
4
PUNSUBSCRIBE[pattern[pattern...]]退订所有给定模式的频道。
5
SUBSCRIBEchannel[channel...]订阅给定的一个或多个频道的信息。
6
UNSUBSCRIBE[channel[channel...]]指退订给定的频道。
8)事务
实例:
redis127.0.0.1:
6379>MULTI
OK
redis127.0.0.1:
6379>SETbook-name"MasteringC++in21days"
QUEUED
redis127.0.0.1:
6379>GETbook-name
QUEUED
redis127.0.0.1:
6379>SADDtag"C++""Programming""MasteringSeries"
QUEUED
redis127.0.0.1:
6379>SMEMBERStag
QUEUED
redis127.0.0.1:
6379>EXEC
1)OK
2)"MasteringC++in21days"
3)(integer)3
4)1)"MasteringSeries"
2)"C++"
3)"Programming"
命令:
1
DISCARD取消事务,放弃执行事务块内的所有命令。
2
EXEC执行所有事务块内的命令。
3
MULTI标记一个事务块的开始。
4
UNWATCH取消WATCH命令对所有key的监视。
5
WATCHkey[key...]监视一个(或多个)key,如果在事务执行之前这个(或这些)key被其他命令所改动,那么事务将被打断。
9)脚本
语法:
redis127.0.0.1:
6379>EVALscriptnumkeyskey[key...]arg[arg...]
实例:
redis127.0.0.1:
6379>EVAL"return{KEYS[1],KEYS[2],ARGV[1],ARGV[2]}"2key1key2firstsecond
1)"key1"
2)"key2"
3)"first"
4)"second"
命令:
1
EVALscriptnumkeyskey[key...]arg[arg...]执行Lua脚本。
2
EVALSHAsha1numkeyskey[key...]arg[arg...]执行Lua脚本。
3
SCRIPTEXISTSscript[script...]查看指定的脚本是否已经被保存在缓存当中。
4
SCRIPTFLUSH从脚本缓存中移除所有脚本。
5
SCRIPTKILL杀死当前正在运行的Lua脚本。
6
SCRIPTLOADscript将脚本script添加到脚本缓存中,但并不立即执行这个脚本。
10)连接
实例:
redis127.0.0.1:
6379>AUTH"password"
OK
redis127.0.0.1:
6379>PING
PONG
命令:
1
AUTHpassword验证密码是否正确
2
ECHOmessage打印字符串
3
PING查看服务是否运行
4
QUIT关闭当前连接
5
SELECTindex切换到指定的数据库
11)服务器
命令:
1
BGREWRITEAOF异步执行一个AOF(AppendOnlyFile)文件重写操作
2
BGSAVE在后台异步保存当前数据库的数据到磁盘
3
CLIENTKILL[ip:
port][IDclient-id]关闭客户端连接
4
CLIENTLIST获取连接到服务器的客户端连接列表
5
CLIENTGETNAME获取连接的名称
6
CLIENTPAUSEtimeout在指定时间内终止运行来自客户端的命令
7
CLIENTSETNAMEconnection-name设置当前连接的名称
8
CLUSTERSLOTS获取集群节点的映射数组
9
COMMAND获取Redis命令详情数组
10
COMMANDCOUNT获取Redis命令总数
11
COMMANDGETKEYS获取给定命令的所有键
12
TIME返回当前服务器时间
13
COMMANDINFOcommand-name[command-name...]获取指定Redis命令描述的数组
14
CONFIGGETparameter获取指定配置参数的值
15
CONFIGREWRITE对启动Redis服务器时所指定的redis.conf配置文件进行改写
16
CONFIGSETparametervalue修改redis配置参数,无需重启
17
CONFI
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- redis 命令