Redis系列Redis常用数据类型命令大全,6K字爆肝整理,路过不容错过
Posted 善良勤劳勇敢而又聪明的老杨
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Redis系列Redis常用数据类型命令大全,6K字爆肝整理,路过不容错过相关的知识,希望对你有一定的参考价值。
热门系列:
1、前言
最近,经常操作Redis,但有些命令记的又有些模糊。想用的时候,还得百度或者翻笔记。。这一篇,我将给整理一份最全的redis常用命令~~~~
高智商已经在“一键三连”先收藏了,新手还在下滑~~~~
2、正文
2.1 redis的五种数据类型
Redis五种数据类型主要为:、、、、
2.2 常用命令
数据类型 | 命令 | 说明 | 示例 |
---|---|---|---|
String类型 | set | set key值 value值: 设置key-value | set testKey 123aaa 返回:OK |
String类型get | get | get key: 获取key对应的值 | get testKey 返回:"123aaa" |
String类型 | incr | incr key值: 将对应value值递增1 | incr testNum 返回:(integer) 1 |
String类型 | decr | decr key值: 将对应value值递减1 | |
String类型 | del | del key值: 删除指定key值 | del testNum |
String类型 | mset | mset key1 value1 key2 value2 ... : 批量设置键值对 | mset keyStr1 213 keyStr2 aaa keyStr3 11eee |
String类型 | mget | mget key1 key2 key3...: 批量获取指定key对应的value | mget keyStr1 keyStr2 keyStr3 返回:1) "213" |
String类型 | setnx | setnx key值 value值: 设置key-value,但是当设置的key不存在时,才能设置成功;否则设置无效! | 127.0.0.1:6379> setnx nxKey nxValue |
hash类型 | hset | hset key fields values: 向hash中key值添加内容fileds-value值 | 127.0.0.1:6379> hset mapKey field_name value_jack |
hash类型 | hget | HGET key field: 返回哈希表 key 中给定域 field 的值。 | hexists mapKey field_age |
hash类型 | hkeys | hkeys key值: 查看key值下面的所有field值 | hkeys mapKey |
hash类型 | hvals | hvals key值: 查看key值下面的所有value值 | hvals mapKey |
hash类型 | hgetall | hgetall key值: 查看key值下面的所有field-value键值对 | hgetall mapKey |
hash类型 | hdel | hdel key值 field值: 删除指定key值下面的field值 | hdel mapKey sex |
hash类型 | hexists | HEXISTS key field: 查看哈希表 key 中,给定域 field 是否存在。 | hexists mapKey field_name hexists mapKey sex |
hash类型 | hmset | HMSET key field value [field value ...]: 同时将多个 field-value (域-值)对设置到哈希表 key 中。 此命令会覆盖哈希表中已存在的域。 如果 key 不存在,一个空哈希表被创建并执行 hmset操作。 | hmset mapKey habit sing company alibaba |
hash类型 | hmget | HMGET key field [field ...]: 返回哈希表 key 中,一个或多个给定域的值。 如果给定的域不存在于哈希表,那么返回一个 nil 值。 | hmget mapKey habit company girlfriend |
List类型 | lpush | LPUSH key value [value ...]: 将一个或多个值 value 插入到列表 key 的表头 如果有多个 value 值,那么各个 value 值按从左到右的顺序依次插入到表头 | lpush listKey 123 abc helloworld |
List类型 | rpush | RPUSH key value [value ...]: 将一个或多个值 value 插入到列表 key 的表尾(最右边)。 如果有多个 value 值,那么各个 value 值按从左到右的顺序依次插入到表尾 | rpush listKey1 111 222 333 |
List类型 | lrange | LRANGE key start stop: 返回列表 key 中指定区间内的元素,区间以偏移量 start 和 stop 指定。 下标(index)参数 start 和 stop 都以 0 为底,也就是说,以 0 表示列表的第一个元素,以 1 表示列表的第二个元素,以此类推。 | lrange listKey1 0 0 lrange listKey1 0 2 |
List类型 | lindex | LINDEX key index: 返回列表 key 中,下标为 index 的元素。 下标(index)参数 start 和 stop 都以 0 为底,也就是说,以 0 表示列表的第一个元素,以 1 表示列表的第二个元素,以此类推。 | lindex listKey1 1 |
List类型 | lset | LSET key index value: 将列表 key 下标为 index 的元素的值设置为 value 。 当 index 参数超出范围,或对一个空列表( key 不存在)进行 LSET 时,返回一个错误。 | lset listKey1 1 444 |
List类型 | lpop | LPOP key: 移除并返回列表 key 的头元素。 | lpop listKey1 |
List类型 | rpop | RPOP key: 移除并返回列表 key 的尾元素。 | rpop listKey1 |
List类型 | lrem | LREM key count value: 根据参数 count 的值,移除列表中与参数 value 相等的元素。 count 的值可以是以下几种:
| lrem newList 2 777 |
Set类型 | sadd | SADD key member [member ...]: 将一个或多个 member 元素加入到集合 key 当中,已经存在于集合的 member 元素将被忽略。 假如 key 不存在,则创建一个只包含 member 元素作成员的集合。 当 key 不是集合类型时,返回一个错误。 | sadd setKey 123 345 456 123 |
Set类型 | scard | SCARD key: 返回集合 key 的基数(集合中元素的数量)。 | scard setKey |
Set类型 | smembers | SMEMBERS key 返回集合 key 中的所有成员。 不存在的 key 被视为空集合。 | smembers setKey |
Set类型 | sdiff | SDIFF key [key ...]: 返回一个集合的全部成员,该集合是所有给定集合之间的差集。 不存在的 key 被视为空集。 | sdiff setKey newSet |
Set类型 | sdiffstore | SDIFFSTORE destination key [key ...]: 这个命令的作用和 SDIFF 类似,但它将结果保存到 destination 集合,而不是简单地返回结果集。 如果 destination 集合已经存在,则将其覆盖。 destination 可以是 key 本身。 | |
Set类型 | sinter | SINTER key [key ...]: 返回一个集合的全部成员,该集合是所有给定集合的交集。 不存在的 key 被视为空集。 | sinter setKey tempSet |
Set类型 | sunion | SUNION key [key ...]: 返回一个集合的全部成员,该集合是所有给定集合的并集。 不存在的 key 被视为空集。 | sunion setKey tempSet |
Set类型 | srandmember | SRANDMEMBER key [count]: 如果命令执行时,只提供了 key 参数,那么返回集合中的一个随机元素。 从 Redis 2.6 版本开始, SRANDMEMBER命令接受可选的 count 参数:
| srandmember tempSet srandmember tempSet |
Set类型 | srem | SREM key member [member ...]: 移除集合 key 中的一个或多个 member 元素,不存在的 member 元素会被忽略。 当 key 不是集合类型,返回一个错误。 | srem tempSet 123 abc |
Set类型 | smove | SMOVE source destination member: 将 member 元素从 source 集合移动到 destination 集合。 SMOVE 是原子性操作。 如果 source 集合不存在或不包含指定的 member 元素,则 SMOVE 命令不执行任何操作,仅返回 0 。否则, member 元素从 source 集合中被移除,并添加到 destination 集合中去。 当 destination 集合已经包含 member 元素时, SMOVE 命令只是简单地将 source 集合中的 member 元素删除。 当 source 或 destination 不是集合类型时,返回一个错误。 | smove newSet tempSet 123 |
SortedSet类型 | zadd | ZADD key score member [[score member] [score member] ...]: 将一个或多个 member 元素及其 score 值加入到有序集 key 当中。 如果某个 member 已经是有序集的成员,那么更新这个 member 的 score 值,并通过重新插入这个 member 元素,来保证该 member 在正确的位置上。 score 值可以是整数值或双精度浮点数。 如果 key 不存在,则创建一个空的有序集并执行 ZADD 操作。 当 key 存在但不是有序集类型时,返回一个错误。 | zadd ssetKey 10 xiaoming |
SortedSet类型 | zcard | ZCARD key: 返回有序集 key 的基数。 | zcard ssetKey |
SortedSet类型 | zrange | ZRANGE key start stop [WITHSCORES]: 返回有序集 key 中,指定区间内的成员。 其中成员的位置按 score 值递增(从小到大)来排序。 具有相同 score 值的成员按字典序(lexicographical order)来排列。 如果你需要成员按 score 值递减(从大到小)来排列,请使用 ZREVRANGE命令。 | zrange ssetKey 0 -1 |
SortedSet类型 | zrevrange | ZREVRANGE key start stop [WITHSCORES]: 返回有序集 key 中,指定区间内的成员。 其中成员的位置按 score 值递减(从大到小)来排列。 | |
SortedSet类型 | zrank | ZRANK key member: 返回有序集 key 中成员 member 的排名。其中有序集成员按 score 值递增(从小到大)顺序排列。 排名以 0 为底,也就是说, score 值最小的成员排名为 0 。 使用 ZREVRANK 命令可以获得成员按 score 值递减(从大到小)排列的排名。 | zrank ssetKey xiaoming zrevrank ssetKey xiaoming |
SortedSet类型 | zrem | ZREM key member [member ...]: 移除有序集 key 中的一个或多个成员,不存在的成员将被忽略。 当 key 存在但不是有序集类型时,返回一个错误。 | zrem ssetKey 123 |
3、总结
千里之行,始于足下。。赶紧关注、收藏,动手操作起来吧!!!
(PS:redis 命令对于大小写不敏感。所以,大小写都一样的!!)
感兴趣的朋友,欢迎收藏;有不足的地方,可以留言讨论,留言必回!!!
以上是关于Redis系列Redis常用数据类型命令大全,6K字爆肝整理,路过不容错过的主要内容,如果未能解决你的问题,请参考以下文章