redis基本命令及解释(一)

栏目: 数据库 · 发布时间: 5年前

内容简介:之前写了些比较底层的东西,马上就要写redis当中是如何使用这些底层来实现数据结构的,突然之间想到,应该先简单介绍下各个数据结构的命令,之后再进行实现的分析,如果读者已经对redis命令很熟悉了,就不需要再继续往下看了,等下一篇出来直接看就行了~~~1. 字符串在redis里面字符串可以存储:1)字节串;2)整数;3)浮点数。其中整数的取值范围和系统的长整数的取值范围相同,而浮点数的取值范围和精度则与IEEE754标准的双精度浮点数相同。

之前写了些比较底层的东西,马上就要写 redis 当中是如何使用这些底层来实现数据结构的,突然之间想到,应该先简单介绍下各个数据结构的命令,之后再进行实现的分析,如果读者已经对redis命令很熟悉了,就不需要再继续往下看了,等下一篇出来直接看就行了~~~

1. 字符串

在redis里面字符串可以存储:1)字节串;2)整数;3)浮点数。其中整数的取值范围和系统的长整数的取值范围相同,而浮点数的取值范围和精度则与IEEE754标准的双精度浮点数相同。

当用户将一个值存储到redis字符串里面的时候,如果这个值可以被解释为十进制整数或者浮点数,那么redis会察觉到这一点,并允许用户对这个字符串执行各种增减操作,如果键值不存在或者为空,则按0处理,若不能解释为数字,则返回错误。

redis当中对字符串执行自增和自减操作的命令

命令 用例和描述
INCR INCR key-name——将key-name存储的值+1
DECR DECR key-name——将key-name存储的值-1
INCRBY INCRBY key-name amount——将key-name存储的值+amount
DECRBY DECRBY key-name amount——将key-name存储的值-amount
INCRBYFLOAT INCRBYFLOAT key-name amount——将key-name存储的值+浮点数amount

除了自增操作和自减操作之外,redis还拥有对字符串的其中一部分内容进行读取或者写入的操作

命令 用例和描述
APPEND APPEND key-name value——将value追加到key-name存储的值的末尾
GETRANGE GETRANGE key-name start end——获取key-name存储的值从start到end的子串,inclusive
SETRANGE SETRANGE key-name offset value——将从start偏移量开始的子串设定为指定值
GETBIT GETBIT key-name offset——将字符串看做是二进制位串,将其中偏移量为offset的二进制的值返回
SETBIT SETBIT key-name offset value——将字符串看成是二进制位串,并将其中偏移量为offset的二进制的值设置为value
BITCOUNT BITCOUNT key-name [start end]——统计二进制位串里面1的二进制的数量
BITOP BITOP operation dest-key key-name [key-name ...]——对一个或多个二进制位串执行(AND,OR,XOR,NOT)在内的任意一种按位运算操作,并将结果保存在dest-key里面

2. 列表

常用命令

命令 用例和描述
RPUSH RPUSH key-name value [value ...]——将一个或多个值推入列表右端
LPUSH LPUSH key-name value [value ...]——将一个或多个值推入列表左端
RPOP RPOP key-name——移除并返回列表最右端的元素
LPOP LPOP key-name——移除并返回列表最左端的元素
LINDEX LINDEX key-name offset——返回列表中偏移量为offset的元素
LRANGE LRANGE key-name start end——返回列表从start偏移量到end偏移量范围内的所有元素,inclusive
LTRIM LTRIM key-name start end——对列表进行修剪,只保留从start到end之间的元素,inclusive

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

命令 用例和描述
BLPOP BLPOP key-name [key-name ...] timeout——从第一个非空列表中弹出位于最左端的元素或者timeout秒之内阻塞并等待可弹出的元素出现
BRPOP BRPOP key-name [key-name ...] timeout——从第一个非空列表中弹出位于最右端的元素或者timeout秒之内阻塞并等待可弹出的元素出现
RPOPLPUSH RPOPLPUSH source-key dest-key——从source-key列表中弹出位于最右端的元素,然后将这个元素推入dest-key的最左端,并想用户返回这个元素
BRPOPLPUSH BRPOPLPUSH source-key dest-key timeout——从source-key列表中弹出位于最右端的元素,然后将这个元素推入dest-key的最左端,并想用户返回这个元素;如果source-key为空,那么在timeout秒之内阻塞并等待可弹出的元素出现

3. 集合

基本命令

命令 用例和描述
SADD SADD key-name item [item ..]——将一个或多个元素添加到集合里面,并返回被添加元素当中原本不再集合当中的元素的个数
SREM SREM key-name item [item ...]——从集合里面移除一个或多个元素,并返回被移除元素的数量
SISMEMBER SISMEMBER key-name item——检查元素item是否存在于集合key-name当中
SCARD SCARD key-name——返回集合包含的元素的数量
SMEMBERS SMEMBERS key-name——返回集合包含的所有元素
SRANDMEMBER SRANDMEMBER key-name [count]——从结合里面随机返回一个或多个元素
SPOP SPOP key-name——随机地移除集合中的一个元素,并返回被移除的元素
SMOVE SMOVE source-key dest-key item——如果source-key当中包含item,name从集合source-key当中移除item,并将其添加到dest-key当中;入股哦成功移除,返回1;否则,返回0.

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

命令 用例和描述
SDIFF SDIFF key-name [key-name ...]——返回那些存在于第一个集合、但不存在于其他集合中的元素
SDIFFSTORE SDIFFSTORE dest-key key-name [key-name ...]——将那些存在于第一个集合但不存在于其他集合中的元素存储到dest-key
SINTER SINTER key-name [key-name ...]——返回那些同时存在于所有集合中的元素
SINTERSTORE SINTERSTORE dest-key key-name [key-name ...]——将那些同时存在于所有集合的元素存储到dest-key
SUNION SUNION key-name [key-name ...]——返回那些至少存在于一个集合中的元素
SUNIONSTORE SUNIONSTORE dest-key key-name [key-name ...]——将那些至少存在于一个集合中的元素存储到dest-key当中

4. 散列

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

命令 用例和描述
HMGET HMGET key-name key [key ...]——从散列里面获取一个或多个键的值
HMSET HMSET key-name key value [key value ...]——为散列里面的一个或多个键设置值
HDEL HDEL key-name key [key ...]——删除散列里面的一个或多个键值对,返回成功找到并删除的键值对的数量
HLEN HLEN key-name——返回散列包含的键值对的数量

散列高级特性

命令 用例和描述
HEXISTS HEXISTS key-name key——检查给定键是否存在于散列中
HKEYS HKEYS key-name ——获取散列包含的所有键
HVALS HVALS key-name——获取散列包含的所有值
HGETALL HGETALL key-name——获取散列包含的所有键值对
HINCRBY HINCRBY key-name key increment——将键key存储的值加上整数increment
HINCRBYFLOAT HINCRBYFLOAT key-name key increment——将键key存储的值加上浮点数increment

写到这里突然感觉全部写出来的话,一篇太长了,下回在分解~~~


以上所述就是小编给大家介绍的《redis基本命令及解释(一)》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

新媒体营销概论

新媒体营销概论

秋叶、刘勇 / 人民邮电出版社 / 2016-12-1 / 36.00

本书共分6章。第1章重点介绍了新媒体的概念和特征,引导读者全面认识新媒体所处的行业;第2章用历史发展的眼光,介绍了不同类型的新媒体,让读者不仅能看到最新的新媒体模式,也能看到这个模式发展背后的脉络;第3章重点介绍了新媒体广告投放载体,便于读者选择适合自己的新媒体运营方式;第4章介绍了新媒体运营的策划思维;第5章介绍了新媒体舆情管理知识;第6章选取了可口可乐、海底捞、恒大冰泉等的新媒体助力传统行业转......一起来看看 《新媒体营销概论》 这本书的介绍吧!

在线进制转换器
在线进制转换器

各进制数互转换器

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具