前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Redis-各数据类型常用命令(含使用示例)

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

作者头像
唔仄lo咚锵
发布2020-09-15 14:56:23
4220
发布2020-09-15 14:56:23
举报
文章被收录于专栏:blog(为什么会重名,真的醉了)

文章目录

  • 写在前面
  • 命令组
    • Connection
    • Key
    • Server
  • 五大数据类型
    • String
    • List
    • Set
    • Hash
    • Zset
  • 三种特殊数据类型
    • Geo
    • Hyperloglog
    • Bitmap

写在前面


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} 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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020/08/04 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 文章目录
  • 写在前面
  • 命令组
    • Connection
      • Key
        • Server
        • 五大数据类型
          • String
            • List
              • Set
                • Hash
                  • Zset
                  • 三种特殊数据类型
                    • Geo
                      • Hyperloglog
                        • Bitmap
                        相关产品与服务
                        云数据库 Redis
                        腾讯云数据库 Redis(TencentDB for Redis)是腾讯云打造的兼容 Redis 协议的缓存和存储服务。丰富的数据结构能帮助您完成不同类型的业务场景开发。支持主从热备,提供自动容灾切换、数据备份、故障迁移、实例监控、在线扩容、数据回档等全套的数据库服务。
                        领券
                        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档