Redis-各数据类型常用命令(含使用示例)

写在前面


Redis的全部命令详情可以在官网查询
点此Redis系列文章专栏
命令不自己敲一遍,都是白搭,就算忘了也可以翻这篇博客。
在这里插入图片描述

命令组

Connection


命令作用示例
pingping服务器 ,无参返回pong有参返参在这里插入图片描述
select index切换数据库(默认16个数据库,index从0开始)在这里插入图片描述

Key


命令作用示例
exists key返回key是否存在在这里插入图片描述
del key删除key,返回删除数量在这里插入图片描述
move key db移动key到另一个数据库在这里插入图片描述
type key返回key存储类型在这里插入图片描述
keys pattern返回正则表达式搜索结果,如keys *查看所有在这里插入图片描述
expire key seconds设置key过期时间,过期自动删除在这里插入图片描述
ttl key返回key剩余时间(time to live)在这里插入图片描述

Server


命令作用示例
flushdb清空当前数据库数据在这里插入图片描述
flushall清空所有数据库所有数据在这里插入图片描述
dbsize返回当前数据库keys数量在这里插入图片描述

五大数据类型

String


计数器、对象缓存存储等

命令作用示例
set key value将key赋值为value在这里插入图片描述
get key返回key的值,不存在返回nil在这里插入图片描述
append key value追加一个值到key上在这里插入图片描述
strlen key返回string长度在这里插入图片描述
incr key加1在这里插入图片描述
decr key减1在这里插入图片描述
incrby key increment加上一个数在这里插入图片描述
decrby key increment减上一个数在这里插入图片描述
getrange key start end获取子串,闭区间,第一个下标从0开始,-1表示最后一个,-2倒数第二个,以此类推在这里插入图片描述
setrange key offset value替换子串在这里插入图片描述
setex key seconds value设置key的值和过期时间在这里插入图片描述
setnx key value如果不存在则set(SET if Not eXists) ,常用于分布式锁在这里插入图片描述
mset key value [key value …]批量设置在这里插入图片描述
mget key [key …]批量获取在这里插入图片描述
msetnx key value [key value …]批量设置如果key不存在,同setnx,一起成功一起失败(只要有一个key存在则命令全部失败,即视为一个事务)在这里插入图片描述
getset key value先set再get在这里插入图片描述

List


消息队列、堆栈等

命令作用示例
lpush key value [value …]向list左边插入值(left push),若不存在则创建之,并返回list大小在这里插入图片描述
rpush key value [value …]向list右边插入值(right push),若不存在则创建之,并返回list大小在这里插入图片描述
lrange key start stop获取list指定范围内的元素,闭区间,第一个下标从0开始,-1表示最后一个,-2倒数第二个,以此类推在这里插入图片描述
lpop key移除list左边第一个元素,并返回所移除元素值在这里插入图片描述
rpop key移除list右边第一个元素,并返回所移除元素值在这里插入图片描述
lindex key index通过索引获取list值在这里插入图片描述
lrem key count value移除前count次出现的值为value 的元素在这里插入图片描述
ltrim key start stop截取list在这里插入图片描述
rpoplpush source destination从source移除最后一个元素,并将其加到destination左边在这里插入图片描述
lset key index value设置list的值在这里插入图片描述
linsert key BEFORE/AFTER pivot value在pivot前或后面插入一个值在这里插入图片描述

Set


命令作用示例
sadd key member [member …]向集合插入值,若set不存在则创建之,注意元素不能相同,返回插入成功数量在这里插入图片描述
smembers key返回集合所有元素在这里插入图片描述
sismember key member判断集合是否包含member,返回1包含,0不包含在这里插入图片描述
scard key返回集合内元素数量在这里插入图片描述
srem key member [member …]从集合里删除元素,返回成功删除的个数在这里插入图片描述
srandmember key [Count]随机返回集合内一个元素在这里插入图片描述
spop key [Count]随机删除集合内元素,返回所删元素在这里插入图片描述
smove source destination member从source集合中移动member元素到destination集合中在这里插入图片描述
sdiff key [key …]返回两集合差集在这里插入图片描述
sinter key [key …]返回两集合交集在这里插入图片描述
sunion key [key …]返回两集合并集在这里插入图片描述
sdiffstore destination key [key …]将差集存入destination集合中,返回元素个数在这里插入图片描述
sinterstore destination key [key …]将交集存入destination集合中,返回元素个数在这里插入图片描述
sunionstore destination key [key …]将并集存入destination集合中,返回元素个数在这里插入图片描述

Hash


map<>key,key[field]=value
用于常变动的数据,同时Hash适合对象,String适合字符串。

命令作用示例
hset key field value设置哈希集key中field字段的值。若字段不存在创建之并返回1,否则覆盖之并返回0。在这里插入图片描述
hget key field返回哈希集key中field字段所关联的值在这里插入图片描述
hmset key field value [field value …]设置哈希集中多个字段的值在这里插入图片描述
hmget key field [field …]返回哈希集中多个字段的值在这里插入图片描述
hgetall key返回哈希集所有字段和值在这里插入图片描述
hdel key field [field …]删除字段及其值在这里插入图片描述
hexists key field判断指定字段是否存在(1存在0不存在)在这里插入图片描述
hkeys key只获取所有字段(field)在这里插入图片描述
hvals key只获取所有值(value)在这里插入图片描述
hincrby key field increment对字段的值加上一个数在这里插入图片描述
hsetnx key field value如果字段不存在才设置字段和值(返回1),存在则操作无效(返回0)在这里插入图片描述

Zset


有序集合,即比set多个权值z用来排序。
用于排序、优先队列等,如排行榜、top N

命令作用示例
zadd [NX/XX]: [CH] [INCR] score member [score member …]添加时可以指定多个分数/成员对,若成员已添加则更新分数,并更新到正确排序位置,若分数相同则按字典序。在这里插入图片描述
zrange key start stop [WITHSCORES]返回区间内的元素,WITHSCORES可以将分数与元素一起返回,升序在这里插入图片描述
zrangebyscore key min max [WITHSCORES] [LIMIT offset count]返回有序集合中分数在min和max之间的所有元素,min和max可以是-inf和+inf表示正负无穷。升序在这里插入图片描述
zrevrange key start stop [WITHSCORES]返回区间内的元素,降序在这里插入图片描述
zrevrangebyscore key min max [WITHSCORES] [LIMIT offset count]返回有序集合中分数在min和max之间的所有元素,降序在这里插入图片描述
zrem key member [member …]删除元素在这里插入图片描述
zcard key获取元素个数在这里插入图片描述
zcount key min max获取分数在min和max间的元素个数在这里插入图片描述
zpopmax key [COUNT]删除集合中分数最高的count个元素,count默认1,并返回所删元素及其分数在这里插入图片描述
zpopmin key [COUNT]删除集合中分数最低的count个元素,count默认1,并返回所删元素及其分数在这里插入图片描述

三种特殊数据类型

Geo


Geo底层是Zset存储,所以也可以用Zset命令操作Geo
推算地理位置信息,比如共享位置,附近的人,打车距离等。

  • 有效的经度从-180度到180度。
  • 有效的纬度从-85.05112878度到85.05112878度。
命令作用示例
geoadd key longitude latitude member [longitude latitude member …]将指定的地理空间位置(经度、纬度、名称)添加到指定的key中。在这里插入图片描述
geopos key member [member …]获取经纬度在这里插入图片描述
geodist key member1 member2 [unit]获取两个位置的距离(dist)在这里插入图片描述
georadius key longitude latitude radius m/km/ft/mi [WITHCOORD] [WITHDIST] [WITHHASH] [COUNT coun t] [ASC/DESC]以给定的经纬度为中心, 返回半径内包含的所有元素在这里插入图片描述
georadiusbymember key member radius m/km/ft/mi [WITHCOORD] [WITHDIST] [WITHHASH] [COUNT coun t] [ASC/DESC]以指定元素为中心, 返回半径内包含的所有元素在这里插入图片描述
geohash key member [member …]返回位置元素的Geohash表示。hash串越接近距离越近在这里插入图片描述
Geo底层是Zset存储Zset可参考前面在这里插入图片描述

Hyperloglog


基数统计(不重复的数),比如PV(网页浏览量)统计(一个人多次访问也只算一次)
重点是耗内存非常小,统计 2 64 2^{64} 264只要12KB左右.

命令作用示例
pfadd key element [element …]存储元素到HyperLogLog结构中,若基数变返回1,否则返回0在这里插入图片描述
pfcount key [key …]返回近似基数在这里插入图片描述
pfcount destkey sourcekey [sourcekey …]将多个sourcekey取并集存入destkey在这里插入图片描述

Bitmap


位存储(即01两种状态),比如用于签到打卡,登录状态等
底层是String

命令作用示例
setbit key offset value设置或者清空key的value(01字符串)在offset处的bit值。返回在offset处原来的bit值在这里插入图片描述
getbit key offset获取在offset处的bit值在这里插入图片描述
bitcount key [start end]统计给定区间内被设置为1的bit数在这里插入图片描述

原创不易,请勿转载本不富裕的访问量雪上加霜
博主首页:https://blog.csdn.net/qq_45034708
如果文章对你有帮助,记得关注点赞收藏❤

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

吾仄lo咚锵

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值