【Redis系列】Redis常用数据类型命令大全,6K字爆肝整理,路过不容错过
热门系列:
程序人生,精彩抢先看
【分布式系列】分布式锁原理篇-Redisson、Zookeeper、Database
【Java面试系列】Redis面试题
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字爆肝整理,路过不容错过相关推荐
- cmd锁定计算机病毒,反病毒常用CMD命令大全
反病毒常用CMD命令大全 I.文件类: 1.attrib 显示或更改文件属性 命令格式: ATTRIB [+R | -R] [+A | -A ] [+S | -S] [+H | -H] [[drive ...
- 常用 Windows10命令大全
Windows10命令大全 相信很多使用win10喜欢折腾电脑搞机的小伙伴都想要一份完整的Windows10命令大全,大家可能会突然想要打 开某个cmd命令但是却忘记了具体的命令,包括小编我自己也有过 ...
- CentOS常用基础命令大全
这篇文章主要介绍了CentOS常用基础命令大全,学习centos的朋友需要掌握的知识,需要的朋友可以参考下 1.关机 (系统的关机.重启以及登出 ) 的命令 shutdown -h now 关闭系统( ...
- 进入注册表一些常用的命令大全汇总
进入注册表一些常用的命令大全汇总 进入注册表有很多的命令.如果很熟悉了.使用起来也很方便的 我们可以点击桌面左下角的开始>>运行,在运行窗口中输入regedit命令即可打开注册表,如图所示 ...
- 3ds MAX常用快捷键命令大全,快捷键自定义方法,游戏建模小白必备
3dmax常用快捷键命令有哪些?在使用3dmax进行作图渲染的过程之中,熟练掌握一些命令的快捷键位置,能够大大提升我们的工作效率.同时,根据自己的使用习惯,自定义常用快捷键的命令,也可以加快我们作图的 ...
- Java工程师常用Linux命令大全
Java工程师常用Linux命令大全 查看目录下文件 ll 显示当前目录下文件详细信息. ll -a 显示当前目录下所有文件(包括隐藏文件) 查看当前目录 pwd 查看当前路径 查看进程 ps -a ...
- 15 Redis缓存及常用数据类型
1 简介 1.1 背景 我们现在的项目架构中,基本上是Web服务器(Tomcat)和数据库独立部署,独占服务器资源,随着用户数的增长,并发读写数据库,会加大数据库访问压力,导致性能的下降,严重时直接导 ...
- redis学习之常用数据类型
redis支持5种数据类型:string(字符串),list(列表),set(集合),sorted set(有序集合),hash(哈希).下面是学习过程中的测试样例: 1:string(字符串),st ...
- Redis系列-Redis笔记(一)
Redis基础 Redis安装 # 下载 cd /tmp wget http://download.redis.io/releases/redis-3.2.11.tar.gz # 解压 tar -zx ...
- redis系列-redis基础知识总结
一.Redis 设计架构 1.1.Redis整体架构和redis学习思路 上图是我理解的redis单机工作的一个概图. 我尝试从以下基本内容来学习redis: 单机redis 就单机版而言,我们可以从 ...
最新文章
- [转] 利用jemalloc分析内存泄漏
- 0.5s c语言延时子程序集,用C语言实现精确的延时.doc
- sql server 2008学习4 设计索引的建议
- Dart语言精简入门介绍
- 为什么突然变乱码_9102年了,还不知道Android为什么卡?
- 一个API方式存取日志文件的模块[VB]
- 使用Configuration Manager部署及管理软件更新(1)
- JDK版本更换后编译android系统出错
- 【语音处理】基于matlab音频信号FIR+IIR(高通+低通+带通)滤波器频谱分析【含Matlab源码 1732期】
- Jquery 取色器
- A4纸网页打印中对应像素的设定和换算
- PTCMS可听书可下载的小说站源码+带采集和教程
- FDD下行信道估计的一些知识点
- python读取csv最后一行_用Python读取CSV文件行的最后一个非空单元格
- minecraft崩溃java,je1.7.10,进入世界就崩溃,解决一下
- 2021最新 深圳互联网公司排名
- matlab details
- javascript 递归乘阶
- Android音频处理知识(一)MediaRecorder录制音频
- 深入理解计算机系统 练习题3.8 理解计算机二元操作