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

写在前面


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

命令组

Connection


命令 作用 示例
ping ping服务器 ,无参返回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} 只要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
如果文章对你有帮助,记得关注点赞收藏❤

猜你喜欢

转载自blog.csdn.net/qq_45034708/article/details/107800562