Thursday, December 31, 2020

Redis命令大全,满足你的日常工作,看这一篇就够了(求点赞)

前言(求点赞)

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

redis五大数据类型


redis键(key)

常用命令

命令注释
keys *获取所有的key
select 0(库角标)选择第几个库
move key 0(库角标)将当前的数据库key移动到某个数据库,目标库有,则不能移动
flush 0(库角标)清除指定库
randomkey获取随机key
type keykey的类型
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 valuekey不存在时设置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 BEFOREAFTER 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 valuecount>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]迭代有序集合中的元素(包括元素成员和元素分值)

IT 老哥

`一个在大厂做高级Java开发的程序猿`

 









原文转载:http://www.shaoqun.com/a/504722.html

跨境电商:https://www.ikjzd.com/

eori:https://www.ikjzd.com/w/499

孙琦:https://www.ikjzd.com/w/1638


前言(求点赞)jvm我们讲了两篇文章,为了不让大家学习疲劳,我们几个技术穿插着来讲,我们今天讲讲Redis的各种命令,这篇会把大家日常需要用到的命令全都列出来,满足你们的日常工作需求。redis五大数据类型redis键(key)常用命令命令注释keys*获取所有的keyselect0(库角标)选择第几个库movekey0(库角标)将当前的数据库key移动到某个数据库,目标库有,则不能移动flush
百思买:百思买
ifttt:ifttt
2020椰林沙滩大型动漫灯会倒数活动?深圳椰林沙滩元旦跨年:2020椰林沙滩大型动漫灯会倒数活动?深圳椰林沙滩元旦跨年
乳源云门峡漂流门票价格?云门峡漂流怎么样?:乳源云门峡漂流门票价格?云门峡漂流怎么样?
乐高星球大战五月重返马来西亚乐高主题公园有什么好玩的?:乐高星球大战五月重返马来西亚乐高主题公园有什么好玩的?

No comments:

Post a Comment