redis常用指令

redis常用指令

最近在学习非关系型数据库redis,来总结一下redis常用的指令吧,比较简单,就当做自己敲打一遍加深一下印象吧。

redis支持5种存储类型,今天先介绍着5种类型的基本操作吧

一,字符串

字符串可以存储以下3中类型的值

1、字节串

2、整数

3、浮点数

(1)自增和自减命令

INCR/DECR:INCR/DECR KEY-NAME —将键存储的值增加/减少1

INCRBY/DECRYBY INCRBY/DECRBY KEY-NAME amount— 将键存储的值增加/减少amount

INCRBYFLOAT INCRBYFLOAT KEY-NAME amount —将键存储的值加上浮点数amount(2.6及以上版本使用)

redis常用指令

 

(2)字符串字串和二进制位命令

1)APPEND APPEND KEY-NAME VALUE —将值value追加到给定键KEY-NAME当前存储的值的末尾

2)GETRANGE GETRANGE KEY-NAME start end —获取一个由偏移量start至偏移量end范围内的所有字符组成的字串,包括start和end在内

3)SETRANGE SETRANGE KEY-NAME offset value—将start偏移量开始的字串设置成给定值

4)GETBIT GETBIT KEY-NAME offset— 将字节串看作是二进制位串,并返回位串中偏移量位offset的二进制位的值

5)SETBIT SETBIT KEY-NAME offset value —将字节串看成是二进制的位串,并将位串中偏移量为offset的二进制位的值设置成value

6)BITCOUNT BITCOUNT KEY-VALUE [start end]—统计二进制位串里面值为1的二进制位的数量,如果给定了可选的start和end偏移量 那么只对偏移量指定范围内的二进制进行统计

7)BITOP BITOP operation dest-key key-name [key-name…]—对一个或多个二进制位串执行包括并(and)、或(or)、异或(XOR)、非(NOT)在内的任意一种按位运算的操作,并将计算得出的结果保存在dest-key键里面

 

redis常用指令

 

二,列表

1)RPUSH RPUSH KEY-NAME value [value …]—将一个或多个值推入列表的右端

2)LPUSH LPUSH KEY-NAME value [value …]—将一个或多个值推入列表的左端

3)RPOP RPOP KEY-NAME —移除并返回列表最右端的元素

4)LPOP LPOP KEY-NAME —移除并返回列表最左端的元素

5)LINDEX LINDEX KEY-NAME offset —返回列表中偏移量为offset元素

6)LRANGE LRANGE KEY-NAME start end —返回列表从start到end偏移量范围内的所有元素,start和end位置的元素也会返回

7)LTRIM LTRIM KEY-NAME start end —对列表进行修建,只保留从start到end偏移量范围内的元素,其中start和end元素会保留

 

 redis常用指令

 

阻塞式列表弹出命令以及在列表之间移动元素的命令

1)BLPOP BLPOP KEY-NAME [key-name …] timeout —从第一个非空列表中弹出位于最左端的元素,或者在timeout秒之内阻塞并等待可弹出的元素出现

2)BRPOP BRPOP KEY-NAME [key-name …] timeout —从第一个非空列表中弹出位于最右端的元素,或者在timeout秒之内阻塞并等待可弹出的元素出现

3)RPOPLPUSH RPOPLPUSH source-key dest-key —从source-key列表弹出位于最右端的元素,然后将这个元素推入到dest-key列表的最左端,并向用户返回这个元素

4)BRPOPLPUSH BRPOPLPUSH source-key dest-key timeout —从source-key列表中弹出最右端元素,然后将这个元素推入到dest-key列表的最左端,并向用户返回这个元素,如果source-key为null,那么在timeout秒之内阻塞并等待可弹出的元素出现

 

redis常用指令

 

三,集合

1)SADD SADDN KEY-NAME item [item …] — 将一个或多个元素添加到集合里面,并返回被添加元素当中原本不存在于集合里面的元素数量

2)SREM SREM key-name item [item …] —从集合里面移除一个或多个元素,并返回被移除元素数量

3)SISMEMBER SISMEMBER key-name item —检查元素item是否存在于集合key-name里面

4)SCARD SCARD key-name —返回集合包含元素的数量

5)SMEMBERS SMEMBERS key-name 返回集合包含的所有元素

6)SRANDMEMBER SRANDMEMBER key-name [count] —从集合里面随机地返回一个或多个元素,当count为正数时,命令返回的随机元素不会重复,当count为负数时,命令返回随机元素可能会出现重复

7)SPOP SPOP key-name—随机地移除集合中的一个元素,并返回被移除的元素

8)SMOVE SMOVE source-key dest-key item —如果集合source-key包含元素item,那么从集合source-key里面移除元素item,并将元素添加到集合dest-key中,如果item被成功移除,则返回1,否则返回0

 

redis常用指令

用于组合和处理多个集合的redis命令

1)sdiff sdiff key-name [key-name …] —返回那些存在于第一个集合,但不存在于其他集合中的元素(数学上的差集运算)

2)sdiffstore sdiffstore dest-key key-name [key-name …]—将那些存在于第一个集合但不存在于其他集合的元素存储到dest-key里面

3)sinter sinter key-name [key-name…] —发牛那些同时存在于所有集合中的元素(数学中的交集运算)

4)sinterstore sinterstore dest-key key-name [key-name …]—将那些同时存在于所有集合的元素存储到dest-key键里面

6)sunion sunion key-name [key-name …]—返回那些至少存在于一个集合中的元素(数学中的并集)

7)sunionstore sunionstore dest-key key-name [key-name …]—返回那些至少存在于一个集合中的元素,并存储到dest-key键里面

 redis常用指令

 

四、散列(可以将这种数据聚集看作关系型数据库的行)

用于添加和删除键值对的散列的操作

1)hmget hmget key-name key [key ….]—从散列里面获取一个或多个键得值

2)hmset key-name key value [key value …]—为散列里面得一个或多个键设置值

3)hdel hdel key-name key [key …] —删除散列里面得一个或多个键值对,返回成功找到并删除键值对得数量

3)hlen hlen key-name —返回散列包含得键值对得数量

 redis常用指令

 

redis散列的高级特性

1)hexists hexists key-name key —检查给定键是否存在于散列中

2)hkeys hkeys key-name —获取散列包含的所有键

3)hvals hvals key-name —获取散列包含的所有值

4)hgetall hgetall key-name—获取散列包含的所有键值对

5)hincrby hincrby key-name key increment —将键key存储的值加上证书increment

redis常用指令

 

五,有序集合(member成员,score分值)

1)zadd zadd key-name score member [score member …]—将带有给定分值的成员添加到有序集合里面

2)zrem zrem key-name member [member …]—从有序集合里面移除给定的成员,并返回被移除成员的数量

3)zcard zcard key-name —返回有序集合包含的成员数量

4)zincrby zincrby key-name increment member—将member对应的分值加上increment

5)zcount zcount key-name min max —返回分值介于min和max之间的成员数量

6)zrank zrank key-name member— 返回成员member在有序集合中的排名

7)zscore zscore key-name member返回成员member的分值

8)zrange zrange key-name start stop [withscores] —返回有序集合中排名介于start和stop之间的成员,如果给定了可选的withscores选项,那么命令会将成员的分值也一并返回

redis常用指令

 

有序集合的范围型数据获取命令和范围型数据删除命令,以及并集命令和交集命令

1)zrevrank zrevrank key-name member —返回有序集合里成员member的排名,成员按照分值从大到小排列

2)zrevrange zrevrange key-name start stop [withscores]—返回有序集合给定排名范围内的成员,成员按照分值从大到小排列

3)zrangebyscore zrangebyscore key-name min max [withscores] [limit offset count] —返回有序集合中,分值介于min和max之间的所有成员

4)zrevrangebyscore zrevrangebyscore key-name max min [withscore] [limit offset couunt]—返回有序集合中分值介于min和max之间的所有成员,并按照分值从大到小的顺序来返回

5)zremrangebyrank zremrangebyrank key-name start stop —移除有序集合中排名介于start和stop之间的所有成员

6)zremrangebyscore zremrangebyscore key-name min max—移除有序集合中分值介于min和max之间的所有成员

7)zinterstore zinterstore dest-key key-count key [key …] [WEIGHTS WEIGHT [WEIGHT …]] [AGGREGATE SUM\min\max]—对给定的有序集合执行类似于集合的交集运算

8)zunionstore zunionstore dest-key key-count key [key …][WEIGHTS weight[weight…]] [aggregate sum\min\max]—对给定的有序集合执行类似于集合的并集运算

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/111246.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • 新的博客-随记地址webooxx.com[通俗易懂]

    新的博客-随记地址webooxx.com[通俗易懂]虽然博客还没有完工,但是开了一个新的随记地址。webooxx.comMarkdocsOnline。是在百度的BAE上实现的,但是想弄到SAE上去,不过搞不定SAE的REWRITE,话说,其实我连本机

  • android .dex文件探究

    android .dex文件探究在我们写Java代码的时候,生成的文件是.java文件,但是JVM并不识别这个,所以会先转成class文件,而在Android端,Android上的Davlik虚拟机能运行.dex。所以dex文件中包含了所有的app代码,可利用反编译工具获取java代码。即dex文件就是AndroidDalvik虚拟机运行的程序。为了能够加深印象,我们先构造一个dex文件。publicclassDEX…

  • AC餐饮指的是什么_餐饮tc和ac的区别

    AC餐饮指的是什么_餐饮tc和ac的区别奶牛们在吃饭方面十分挑剔。每头奶牛都有自己喜欢的食物和饮料,并且不会食用其他不喜欢的食物和饮料。农夫约翰为他的奶牛们做了美味的饭菜,但他忘了对照他们的喜好来检查菜单。虽然他可能无法令所有奶牛满意,但他想给尽可能多的奶牛提供一顿完整的用餐—-既有食物可吃,也有饮料可喝。农夫约翰一共烹制了 F 种食物,并提供了 D 种饮料。约翰共有 N 头奶牛,其中第 i 头奶牛有 Fi 种喜欢的食物以及 Di 种喜欢的饮料。约翰需要给每头奶牛分配一种食物和一种饮料,并使得有吃有喝的奶牛数量尽可能大。每种食物

  • 光栅化 (Rasterization)

    光栅化 (Rasterization)上一篇文章讨论了如何在多边形的某一点上分配光强度值,这里主要讨论如何为多边形确定实际的像素,即在栅格屏幕上的对应位置,这个过程称为光栅化(Rasterization)或者扫描转换(Scanconv

  • 20行Python代码爬取王者荣耀全英雄皮肤

    20行Python代码爬取王者荣耀全英雄皮肤引言王者荣耀大家都玩过吧,没玩过的也应该听说过,作为时下最火的手机MOBA游戏,咳咳,好像跑题了。我们今天的重点是爬取王者荣耀所有英雄的所有皮肤,而且仅仅使用20行Python代码即可完成。准备工作爬取皮肤本身并不难,难点在于分析,我们首先得得到皮肤图片的url地址,话不多说,我们马上来到王者荣耀的官网:我们点击英雄资料,然后随意地选择一位英雄,接着F12打开调试台,找到英雄原皮肤的图片…

  • linux卸载socat,socat在Linux下的使用「建议收藏」

    目录0x01socat介绍0x02socat进行文件传输0x03socat正向端口转发0x04socat反向端口转发注:边界机器Ubuntu192.168.222.177内网机器win7192.168.222.1370x01socat介绍socat我们在前面也已经介绍过了,之前说的是Windows下的利用,如果没有看到的朋友请移步【socat在Windows下的使用】,socat…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号