前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Redis工作中常用命令,看这一篇就够了

Redis工作中常用命令,看这一篇就够了

作者头像
公众号 IT老哥
修改2020-09-21 15:35:09
5070
修改2020-09-21 15:35:09
举报

本文源自 公-众-号 IT老哥 的分享

IT老哥,一个在大厂做高级Java开发的程序员,每天分享技术干货文章

前言

jvm我们讲了两篇文章,为了不让大家学习疲劳,我们几个技术穿插着来讲,我们今天讲讲Redis的各种命令,这篇会把大家日常需要用到的命令全都列出来,满足你们的日常工作需求

redis五大数据类型

redis键(key)

常用命令

命令

注释

keys *

获取所有的key

select 0(库角标)

选择第几个库

move key 0(库角标)

将当前的数据库key移动到某个数据库,目标库有,则不能移动

flush 0(库角标)

清除指定库

randomkey

获取随机key

type key

key的类型

set key value

设置key和value

get key

获取key的value

mset key1 value1 key2 value2

批量设置key、value

mget key1 key2 key3

批量获取value

del key

删除key

exists key

判断是否存在key

expire key second(秒)

给key设置过期时间

pexpire key millisecond (毫秒)

给key设置过期时间

persist key

删除过期时间,持久保存key

String类型

简介

String是redis最基本的类型,你可以理解成与Memcached一模一样的类型,一个key对应一个value。

String类型是二进制安全的。意思是redis的string可以包含任何数据。比如jpg图片或者序列化的对象 。

String类型是Redis最基本的数据类型,一个redis中字符串value最多可以是512M

存储结构类似:key:value

常用命令

命令

注释

set key value

设置值

get key

获取值

getrange key start end

获取指定范围的value

getset key value

设置新value,并返回旧value

getbit key offset

获取字符串中某个位置的字符

mget key1 key2

获取多个value

setex key second(秒) value

设置key、value,同时设置过期时间

setnx key value

key不存在时设置key

setrange key offset value

用新value替换老value部分字符,从offset开始替换

strlen key

获取value长度

mset key1 value1 key2 value2

批量设置key、value

msetnx key1 value1 key2 value2

批量设置,当且仅当所有要设置的key都不存在时

psetex key milliseconds(毫秒) value

设置过期时间,单位毫秒

incr key

如果value是数字,使用这个语法使数字自增1

incrby key increment

给value增加指定的值increment

decr key

给value减去1

decrby key decrement

给value减去指定的值decrement

append key value

将value追加到key原来的value尾部

List类型

简介

它是一个字符串链表,left、right都可以插入添加;

如果键不存在,创建新的链表;如果键已存在,新增内容;如果值全移除,对应的键也就消失了。

链表的操作无论是头和尾效率都极高,但假如是对中间元素进行操作,效率就很惨淡了。

key是列表的名称,value是列表。

存储结构类似:key:[value1, value2, value3, value4]

常用命令

命令

注释

blpop key timeout

在timeout时间内,获取并移除列表的第一个元素

brpop key1 timeout

在timeout时间内,获取并移除列表的最后一个元素

brpoplpush source destination timeout

在timeout时间内,从source列表中取出一个值,放到destination列表中

lindex key index

获取列表index位置的值

linsert key BEFORE

AFTER value1 value2

llen key

返回列表的长度

lpop key

获取并移除列表的第一个元素

lpush key value value2

将一个或多个value插入到列表的头部

lpushx key value

当key已经存在的时候,向列表的头部插入value

lrange key start end

获取列表部分数据,从start到end范围

lrem key count value

count>0,从列表的头部开始算起,移除count个value相同的数据;count<0,从列表的尾部开始算起,移除count绝对值个value相同的数据;count=0,全部移除value相同的数据

lset key index value

在列表index位置设置value

ltrim key start end

保留start到end内的数据,其余的全部删除

rpop key

获取并移除列表最后一个元素

rpoplpush source destination

移除source列表最后一个元素,并把该元素添加到destination列表的头部

RPUSH key value1 value2

将一个或多个value添加到列表的尾部

rpushx key value

为已经存在的列表添加值

Hash类型

简介

hash 是一个 string 类型的 field(字段) 和 value(值) 的映射表,hash 特别适合用于存储对象。

存储结构类似:key:{field1:value1, field2:value2, field3:value3}

如:HMSET keyName name "redis tutorial" description "redis basic commands for caching"

常用命令

命令

注释

hdel key field1 field2

删除key中一个或多个field及value

hexists key field

查看哈希表key中,指定的field字段是否存在

hget key field

在key中查找filed字段的value值

hgetall key

获取在哈希表中指定 key 的所有字段和值

hincrby key field increment

为哈希表 key 中的指定字段的整数值加上增量increment

hincrbyfloat key field increment

为哈希表 key 中的指定字段的浮点数值加上增量 increment 。

hkeys key

获取所有哈希表中的字段

hlen key

获取哈希表中字段的数量

hmget key field1 field2

获取所有指定字段的值

hmset key field1 value1 field2 value2

同时将多个 field-value对设置到哈希表 key 中

hset key field value

将哈希表 key 中的字段 field 的值设为 value 。

hsetnx key field value

只有在字段 field 不存在时,设置哈希表字段的值。

hvals key

获取哈希表中所有值。

hscan key cursor [MATCH pattern] [COUNT count]

迭代哈希表中的键值对。

set类型

简介

Redis 的 Set 是 String 类型的无序集合。集合成员是唯一的,这就意味着集合中不能出现重复的数据。

Redis 中集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是 O(1)。

存储结构类似:key:("value1", "value2", "value3")

常用命令

命令

注释

sadd key value1 value2

向集合添加一个或多个成员

scard key

获取集合的成员数大小

sdiff key1 key2 key3

返回第一个集合与其他集合之间的差异。

sdiffstore destination key1 key2

返回给定所有集合的差集并存储在 destination 新key中

sinter key1 key2

返回给定所有集合的交集

sinterstore destination key1 key2

返回给定所有集合的交集并存储在 destination 新key中

sismember key value

判断key的集合中是否存在value

smembers key

返回key集合中所有的value

smove source destination value

将 value 元素从 source的key 集合移动到 destination的key 集合中

spop key

随机获取并移除key中的一个value

srandmember key count

随机返回集合中count个value

srem key value1 value2

移除集合中一个或多个value

sunion key1 key2

返回所有给定集合的并集

sunionstore destination key1 key2

所有给定集合的并集存储在 destination key集合中

SSCAN key cursor [MATCH pattern] [COUNT count]

迭代集合中的元素

Zset(sorted set)类型

简介

Redis 有序集合和集合一样也是string类型元素的集合,且不允许重复的成员。

不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。

有序集合的成员是唯一的,但分数(score)却可以重复。

集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1)。集合中最大的成员数为 232 - 1 (4294967295, 每个集合可存储40多亿个成员)。

存储结构类似:key:{score1:value1, score2:value2, score3:value3, }

常用命令

命令

注释

zadd key score1 value1 score2 value2

向有序集合添加一个或多个成员,或者更新已存在成员的分数

zcard key

获取有序集合的成员数

zcount key min max

计算在有序集合中指定区间分数的成员数

zincrby key increment value

有序集合中对指定成员的分数加上增量 increment

zinterstore destination numkeys key [key ...]

计算给定的一个或多个有序集的交集并将结果集存储在新的有序集合 key 中

zlexcount key min max

在有序集合中计算指定字典区间内成员数量

zrange key start stop [WITHSCORES]

通过索引区间返回有序集合指定区间内的成员

zrangebylex key min max [LIMIT offset count]

通过字典区间返回有序集合的成员

zrangebyscore key min max [WITHSCORES] [LIMIT]

通过分数返回有序集合指定区间内的成员

zrank key value

返回有序集合中指定成员的索引

zrem key value [value ...]

移除有序集合中的一个或多个成员

zremrangebylex key min max

移除有序集合中给定的字典区间的所有成员

zremrangebyrank key start end

移除有序集合中给定的排名区间的所有成员

zremrangebyscore key min max

移除有序集合中给定的分数区间的所有成员

zrevrange key start stop [WITHSCORES]

返回有序集中指定区间内的成员,通过索引,分数从高到低

zrevrangebyscore key max min [WITHSCORES]

返回有序集中指定分数区间内的成员,分数从高到低排序

zrevrank key value

返回有序集合中指定成员的排名,有序集成员按分数值递减(从大到小)排序

zscore key value

返回有序集中,成员的分数值

zunionstore destination numkeys key [key ...]

计算给定的一个或多个有序集的并集,并存储在新的 key 中

zscan key cursor [MATCH pattern] [COUNT count]

迭代有序集合中的元素(包括元素成员和元素分值)

云服务器云硬盘数据库(包括MySQL、Redis、MongoDB、SQL Server),CDN流量包,短信流量包,cos资源包,消息队列ckafka,点播资源包,实时音视频套餐,网站管家(WAF),大禹BGP高防(包含高防包及高防IP),云解析SSL证书,手游安全MTP移动应用安全云直播等等。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-08-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 IT老哥 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 本文源自 公-众-号 IT老哥 的分享
  • 前言
  • redis五大数据类型
  • redis键(key)
    • 常用命令
    • String类型
      • 简介
        • 常用命令
        • List类型
          • 简介
            • 常用命令
            • Hash类型
              • 简介
                • 常用命令
                • set类型
                  • 简介
                    • 常用命令
                    • Zset(sorted set)类型
                      • 简介
                        • 常用命令
                        相关产品与服务
                        云数据库 Redis
                        腾讯云数据库 Redis(TencentDB for Redis)是腾讯云打造的兼容 Redis 协议的缓存和存储服务。丰富的数据结构能帮助您完成不同类型的业务场景开发。支持主从热备,提供自动容灾切换、数据备份、故障迁移、实例监控、在线扩容、数据回档等全套的数据库服务。
                        领券
                        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档