学习Redis

        Redis可以存储键与5种不同数据结构类型之间的映射,这5种数据结构类型分别为:

        String(字符串)、List(列表)、Set(集合)、Hash(散列)、Zset(有序集合)。


下边将介绍基础命令:

String(字符串)

命令行为
Get获取存储在给定键中的值
Set设置存储在给定键中的值
Del删除存储在给定键中的值(这个命令可以用于所有类型)
List(列表)
命令行为
Rpush将给定值推入列表的右端
Lrange获取列表在给定范围上的所有值
Lindex获取列表在给定位置上的单个元素
Lpop从列表的左端弹出一个值,并返回被弹出的值
Set(集合)
命令行为
Sadd将给定元素添加到集合
Smembers返回集合保函的所有元素

SisMember

检查给定元素是否存在于集合中
Srem如果给定的元素存在于集合中,那么移除这个元素

Hash(散列)

命令行为
Hset在散列里面关联起给定的键值对
Hget获取指定散列键的值
HgetAll获取散列包含的所有键值对
Hdel如果给定键存在于散列里边,那么移除这个键

Zset(有序集合)

命令行为
Zadd将一个带有给定分值的成员添加到有序集合里面
Zrange根据元素在有序排列中所处的位置,从有序集合里面获取多个元素
ZrangeByScore获取有序集合在给定分值范围内的所有元素
Zrem如果给定成员存在于有序集合,那么移除这个成员

-------------------华丽的分界线-----------------


下边将介绍常用命令:


String(字符串)

命令用理描述
incrincr key-name将键key-name存储的置加上1
decrdecr key-name将键key-name存储的置减去1
incrByincrBy key-name amount将键key-name存储的置加上整数amount
decrBydecrBy key-name amount将键key-name存储的置减去整数amount
incrByFloatincrByFloat key-name amount将键key-name存储的置加上浮点数amount
appendappend key-name value将值value追加到给定键key-name当前储存的值的末尾
getRangegetRange key-name start end

获取一个由偏移量start至偏移量end范围内所有字符串组成的子串

,包括start和end在内

setRangesetRange key-name offset value将从offset 偏移量开始的字串设置为给定的值


命令用理描述
getBitgetBit key-name offset将字符串看作是二进制串(bit string),
并返回串中偏移量为offset的二进制位的值
setBitsetBit key-name offset value将字符串看作是二进制串(bit string),
并将位串中偏移量位offset的二进制位的值设置位value
bitCountbitCount key-name [start end]统计二进制位串里面值为1的二进制位的数量。
如果给定了可选的start偏移量和end偏移量,
那么只对偏移量指定范围内的二进制位进行统计
bitTopbitTop operation dest-key key-name [key-name ...]对一个或多个二进制位串执行包括并(and)、或(or)、
异或(xor)、非(not)
在内的任意一种按位运算操作(bitwise oeration),
并将计算得出的结果保存在dest-key键里面。

List(列表)

命令用例描述
RpushRpush key-name value [value ...]将一个或多个值推入列表右端
LpushLpush key-name value [value ...]将一个或多个值推入列表左端
RpopRpop key-name 移除并返回列表最右端的元素
LpopLpop key-name 移除并返回列表最左端的元素
LindexLindex key-name offset返回列表中偏移量为offset的元素
LrangeLrange key-name start end

返回列表从start偏移量到end偏移量范围内的所有元素

。包含start end

LtrimLtrim key-name start end

对列表进行修剪,只保留从start到end偏移量范围内的元素

。包含start end

BLpopBLpop key-name [key-name ...] timeout

从第一个非空列表中弹出位于最左端的元素

,或者在timeout秒之内阻塞并等待可弹出的元素出现

BRpopBRpop key-name [key-name ...] timeout

从第一个非空列表中弹出位于最右端的元素

,或者在timeout秒之内阻塞并等待可弹出的元素出现

RpopLpushRpopLpush source-key dest-key

从source-key列表中弹出位于最右端的元素,然后将这

个元素推入dest-key列表的最左端,并向用户返回这个元素

BRpopLpushBRpopLpush source-key dest-key timeout

从source-key列表中弹出位于最右端的元素,然后将这个

元素推入dest-key列表的最左端,并向用户返回这个元素;

如果source-key为空,那么在timeout秒之内阻塞并等待可

弹出的元素出现

Set(集合)


命令用理描述
SaddSadd key-name item [item ...]

将一个或多个元素添加到集合里面,并返回被添加元素当

中原本并不存在于集合里面的元素数量

SremSrem key-name item [item ...]从集合里面移除一个或多个元素,并返回被移除元素的数量
SisMemberSisMember key-name item检查元素item是否存在于集合key-name里
ScardScrad key-name返回集合包含的元素的数量
SMembersSMembers key-name返回集合包含的所有元素
SrandMemberSrandMember key-name [count]

从集合里随机地返回一个或多个元素。当count为整数时

,命令返回的随机元素不会重复;当count为负数时,

命令返回的随机元素可能出现重复

SpopSpop key-name随机地移除集合中的一个元素,并返回被移除的元素
SmoveSmove source-key dest-key item

如果集合source-key包含元素item,

那么从集合source-key里面移除元素item,

并将元素item添加到集合dest-key中;

如果item被成功移除,那么命令返回1,否则返回0

SdiffSdiff key-name [key-name ...]

返回那些存在于第一个元素、但不存在

于其他集合中的元素(数学中的差集运算)

SdiffStoreSdiffStore dest-key key-name [key-name ...]

将那些存在于第一个元素但并不存在于

其他集合中的元素(数学上的差集运算)

存储到dest-key键里面

SinterSinter key-name [key-name ...]

返回那些同时存在于所有集合中的元

素(数学中的交集运算)

SinterStoreSinterStore dest-key key-name [key-name ...]

将那些同时存在于所有集合的元素(数学

上的交集运算)存储到dest-key键里面

SunionSunion key-name [key-name ...]

返回那些至少存在于一个集合中的元素(

数学中的并集计算)

SunionStoreSunionStore dest-key key-name [key-name ...]

将那些至少存在于一个集合中的元素(数学上

的并集运算)存储在dest-key键里面



Hash(散列)


命令用例描述
HmgetHmget key-name key [key ...]从散列里面获取一个或多个键的值
HmsetHmset key-name key value [ key value ...]为散列里面的一个或者多个键设置值
HdelHdel key-name key [key ...]

删除散列里面的一个或多个键值对

,返回成功找到并删除的键值对数量

HlenHlen key-name返回散列包含的键值对数量
HexistsHexists key-name key 检查给定键是否存在于散列中
HkeysHkeys key-name获取散列包含的所有键

Hvals

Hvals key-name获取散列包含的所有值
HgetAllHgetAll key-name获取散列包含的所有键值对
HincrByHincrBy key-name key increment 将键key存储的值加上整数increment
HincrByFloatHincrByFloat key-name key increment 将键key存储的值加上浮点数increment

Zset(有序集合)

命令用例描述
ZaddZadd key-name score member [score member ...]将带有给定分值的成员添加到有序集合里面
ZremZrem key-name member [member ...]

从有序集合里面移除给定的成员

,并返回被移除成员的数量

ZcardZcrad key-name返回有序集合包含的成员的数量
ZincrByZincrBy key-name increament member将member成员的分值加上increment
ZcountZcount key-name min max返回分值介于min和max之间的成员数量
ZrankZrank key-name member返回成员member在有序集合的排名
ZscoreZsorce key-name member返回成员member的分值
ZrangeZrange key-name start stop [withscores]

返回有序集合中排名介于

start和stop之间的成员,

如果给定了可选的withscores选项,

那么命令将成员的分值也一并返回

   
ZrevRank

ZrevRank key-name member

返回有序集合里成岩member的排名,

成员按照分值从大到小排列

ZrevRangeZrevRange key-name start stop [withscores]

返回有序集合给定排名范围内的成员

,成员按照分值从大到小排列

ZrangeByScore

ZrangeByScore key min max [whitscores]

[limit offset count]

返回有序集合中,分值介于min和max

之间的所有成员

ZrevRangeByScore

ZrangeByScore key min max [whitscores]

[limit offset count]

获取有序集合中分值min和max之

间的所有成员,并按照分值从大到

小的顺序来返回它们

ZremRangeByRankZremRangeByRank key-name start end

移除有序集合中排名介于start和stop

之间的所有成员

ZremRangeByScoreZremRangeByScore key-name min max

移除有序集合中分值介于min和ma

x之间的所有成员

ZinterStore

ZinterStore dest-key

key-count key [key ...] [weights weight [weight ...]] 

[aggregate sum|min|max ] 

对给定的有序集合执行类似于集合的交集运算
ZunionStore

ZunionStore dest-key

key-count key [key ...] [weights weight [weight ...]] 

[aggregate sum|min|max ] 

对给定的有序集合执行类似于集合的并集运算

发布与订阅


命令用例描述
subscribesubscribe channel [channel ...]订阅给定的一个或者多个频道
unSubscribeunSubscribe [channel [channel  ...]]

退订给定的一个或多个频道,

如果执行时没有给定任何频道,那么退订所有频道

publishpublish channel message向给定频道发送消息
psubscribepsubscribe pattern [pattern  ...]订阅与给定模式相匹配的所有频道
punsubscribepunsubscribe [ pattern [pattern  ...]]

退订给定的模式

,如果执行时没有给定任何模式,那么退订所有模式

其他命令

排序

sort source-key [by pattern] [limit offset count] [get pattern [get pattern ...]] [asc|desc] [alpha] [store dest-key]

   
sort

sort source-key 

   [by pattern]

   [limit offset count] 

   [get pattern [get pattern ...]] 

   [asc|desc] 

   [alpha] 

   [store dest-key]

根据给定的选项,对输入列表、集合或者有序集合进行排序,

然后返回或者存储排序的结果

键的过期时间

命令用例描述
persistpersist key-name移除键的过期时间
ttlttl key-name 查看给定键距离过期时间还有多少秒
expireexpire key-name seconds让给定的键在指定的秒数之后过期
expireatexpireat key-name timestamp将给定键的过期时间设置为给定的Unix时间戳
pttlpttl key-name查看给定键距离过期时间还有多少毫秒
pexpirepexpire key-name milleseconds让给定键在指定的毫秒数之后过期
pexpireatpexpireat key-name timestamp-milliseconds将一个毫秒级精度的Unix时间设置为给定的过期时间






  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值