Redis的简单使用

数据类型

String

类型

字符串

简介

一种二进制安全的数据类型

特性

可以包含任何数据,比如jpg图片或者序列化对象,一个键最大能存储512M

场景

大部分使用Redis的场景都适用

Hash

类型

字典

简介

键值对集合,即Map类型

特性

适合存储对象,并且可以像数据库中update一个属性一样只修改一项属性值

场景

存储、读取、修改用户属性

List

类型

列表

简介

链表(双向链表)

特性

增删快,提供了操作某一段段苏的API

场景

  1. 最新消息排行榜功能(比如朋友圈时间线)
  2. 消息队列

Set

类型

集合

简介

哈希表实现,元素不可重复

特性

  1. 添加、删除、查找的复杂度都是O(1)
  2. 为集合提供了求交集、并集、差集等操作

场景

  1. 共同好友
  2. 利用唯一性,统计访问网站的所有独立ip
  3. 好友推荐时,根据tag求交集,大于某个阈值就可以推荐

ZSet

类型

有序集合,即Sorted Set

简介

将Set中的元素增加一个权重参数score,元素按score有序排列

特性

数据插入集合时,已经进行天然排序

场景

  1. 排行榜
  2. 带权重的消息队列

命令

PING

ping

检测是否可以连接通Redis
返回PONG
image.png

SELECT

select [index]

选择所使用的redis库,默认使用0号
image.png

Redis 键(Key)

DEL

del [key]

在redis中删除键
image.png

DUMP

dump [key]

查看序列化后的该键的值
image.png

EXISTS

exists [key]

判断键是否存在
image.png

EXPIRE

expire [key] [seconds]

给键设置可用时间,以秒计时
image.png

EXPIREAT

expireat [key] [timestamp]

给键设置过期时间,截至时间为时间戳
image.png

KEYS

keys [pattern]

根据pattern进行筛选键值,keys * 可以查看所有的键
image.png

PERSIST

persist [key]

移除key的过期时间,已经过期的不能移除
image.png

TTL

ttl [key]

查看键的过期时间,未设置则返回-1,过期了则返回-2
image.png

PTTL

pttl [key]

查看键的过期时间,返回毫秒
image.png

RANDOMKEY

randomkey

随机返回一个键
image.png

RENAME

rename [key] [new key]

修改键名
image.png

RENAMENX

renamenx [key] [new key]

只有当new key 不存在时才可以重命名成功
image.png

TYPE

type [key]

查看键的类型
image.png

FLUSHDB

flushdb

清空当前库
image.png

Redis 字符串(String)

SET

set [key] [value]

在redis中设置键
image.png

GET

get [key]

在redis中查看键的值
image.png

GETRANGE

getrange [key] [start] [end]

查看键的第几位到第几位,从0开始,开区间[0, 4]
image.png

GETSET

getset [key] [value]

设置键的值,并返回键的旧值
image.png

MGET

mget [key] [key] …

获取一个或多个key的值
image.png

SETEX

setex [key] [seconds] [value]

设置键的有效时长和值
image.png

SETNX

setnx [key] [value]

只有当键不存在的时候才可以设 置
image.png

STRLEN

strlen [key]

返回key的长度
image.png

MSET

mset [key] [value] [key] [value] …

批量设置键和值
image.png

MSETNX

msetnx [key] [value] [key] [value]

批量设置键和值,必须所有键都是不存在的时候才可设置成功
image.png

INCR

incr [key]

将键的数值进行增一
image.png

INCRBY

incrby [key] [increment]

将键的数值进行增给定的增量
image.png

INCYBYFLOAT

incrbyfloat [key] [increment]

将键的数值进行增给定的浮点型增量
image.png

DECY

decr [key]

将键的数值进行减一
image.png

DECRBY

decrby [key] [decrement]

将键的数值进行增给定的减量
image.png

APPEND

append [key] [value]

将键的值往后添加value
image.png

Redis 哈希(Hash)

HSET

hset [key] [field] [value]

设置键的在哈希表上存储值,例如:

hset user name 张三
user: {
name: 张三
}

image.png

HGET

hget [key] [field] [value]

获取键在哈希表上存储的字段值
image.png

HGETALL

hgetall [key]

获取该键存在的所有字段和值
image.png

HEXISTS

hexists [key] [field]

判断键在哈希表上是否存在字段
image.png

HDEL

hdel [key] [field] [field] …

删除键中的给定字段
image.png

HINCRBY

hincrby [key] [field] [increment]

为该键的哈希表上某个字段增加增量
image.png

HINCRBYFLOAT

hincrbyfloat [key] [field] [increment]

为该键的哈希表上某个字段增加浮点型增量
image.png

HKEYS

hkeys [key]

获取键中哈希表的所有字段
image.png

HLEN

hlen [key]

获取键中哈希表字段的个数
image.png

HMGET

hmget [key] [field] [field] …

获取键中所有给定字段的值
image.png

HMSET

hmset [key] [field] [value] [field] [value] …

为键批量设置给定的字段和值
image.png

HSETNX

hsetnx [key] [field] [value]

仅当键中该字段没有值的时候才可以设置成功
image.png

HVALS

hvals [key]

获取键中的所有字段的值
image.png

Redis 列表(List)

LPUSH

lpush [key] [value] [value] [value]

将一个或多个值插入到列表头部
image.png

LPUSHX

lpushx [key] [value]

将一个值插入到已经存在的列表头部
image.png

LRANGE

lrange [key] [start] [end]

获取列表指定范围内的元素,end为-1则为到最后
image.png

LLEN

llen [key]

获取列表长度
image.png

LPOP

lpop [key]

移除并获取第一个元素
image.png

BLPOP

blpop [key] [key] … [timeout]

移除并获取列表的第一个元素,如果列表没有第一个元素,那么则会等待到超时时长,或列表在时间内存在了第一个元素
image.png

BRPOP

brpop [key] [key] … timeout

移除并获取列表的最后一个元素,如果列表没有最后一个元素,那么则会等待到超时时长,或列表在时间内存在了最后一个元素
image.png

BRPOPLPUSH

brpoplpush [source] [destination] [timeout]

从列表中弹出一个值,将弹出的元素插入到另外一个列表中并返回它; 如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止。
image.png

LINDEX

lindex [key] [index]

通过索引获取列表中的元素,从0开始,-1为最后一个
image.png

LINSERT

linsert [key] [before/after] [privot] [value]

在列表的元素前或者元素后插入元素,在【列表】【元素前/元素后】【哪个元素】【插入的值】
image.png

LREM

lrem [key] [index] [value]

移除列表值的第几个
image.png

LTRIM

ltrim [key] [start] [stop]

对一个列表进行修剪(trim),就是说,让列表只保留指定区间内的元素,不在指定区间之内的元素都将被删除
image.png

RPOP

rpop [key]

移除并获取最后一个元素
image.png

RPUSH

rpush [key] [value] [value] …

将一个或多个值插入到列表尾部
image.png

RPUSHX

rpushx [key] [value]

将一个值插入到已经存在的列表头部
image.png

RPOPLPUSH

rpoplpush [scoure] [destination]

移除列表的最后一个元素,并将该元素添加到另一个列表并返回
image.png

Redis 集合(Set)

SADD

sadd [key] [member] [member] …

向集合添加一个或多个成员
image.png

SCARD

scard [key]

获取集中的成员数
image.png

SMEMBERS

smembers [key]

获取集合中的所有成员
image.png

SRANDMEMBER

srandmember [key] [count]

返回集合中一个或多个成员
image.png

SISMEMBER

sismember [key] [value]

判断集合中是否包含某个成员
image.png

SDIFF

sdiff [key] [key] …

获取第一个集合和后面集合的差集
image.png

SDIFFSTORE

sdiffstore [destination] [key] [key] …

获取第一个集合和后面的集合的差集,保存到destination中
image.png

SINTER

sinter [key] [key] …

返回给定所有集合的交集
image.png

SINTERSTORE

sinterstore [destination] [key] [key] …

将给定所有集合的交集保存到destination
image.png

SMOVE

smove [score] [destination] [member]

将成员从score移动到destination中
image.png

SPOP

spop [key] [count]

从集合中随机删除count个成员
image.png

SREM

srem [key] [member] [member] …

从集合中删除一个或多个成员
image.png

SUNION

sunion [key] [key] …

获取给定集合的并集
image.png

SUNIONSTORE

sunionstore [destination] [key] [key] …

将给定集合的并集添加到destination中
image.png

Redis 有序集合(sorted set)

ZADD

zadd [key] [score] [member] [score] [member] …

向有序集合中添加一个或多个成员,或更行已存在成员的分数
image.png

ZCARD

zcard [key]

获取有序集合的成员数
image.png

ZCOUNT

zcount [key] [min] [max]

获取在指定分数区间的成员数
image.png

ZINCRBY

zincrby [key] [increment] [member]

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

ZINTERSTORE

zinterstore [destination] [numkeys] [key] [key] …

计算一个或多个有序集合的交集,其中给定key 的数量有numkeys决定,并将该交集存储在destination中,默认情况下,destination中成员的score为给定集合中该成员的和
image.png

ZRANGE

zrange [key] [start] [end] [WITHSCORES]

返回有序集合中,指定区间的成员,加上WITHSCORES可以展示出成员的score
image.png

ZRANGEBYSCORE

zrangebyscore [key] [main] [max] [WITHSCORES]

返回有序集合中,根据score返回在此区间的成员
image.png

ZRANK

zrank [key] [member]

获取指定成员的索引
image.png

ZREM

zrem [key] [member] [member] …

移除一个或多个成员
image.png

ZREMRANGEBYRANK

zremrangebyrank [key] [start] [stop]

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

ZREMRANGEBYSCORE

zremrangebyscore [key] [min] [max]

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

ZREVRANGE

zrevrange [key] [start] [stop] [WITHSCORES]

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

ZREVRANGEBYSCORE

zrevrangebyscore [key] [max] [min] [WITHSCORES]

返回有序集合中指定分数区间内的成员,分数从高到底排序
image.png

ZREVRANK

zrevrank [key] [member]

返回有序集合中指定成员的排名,有序集合成员按分数值从大到小排序
image.png

ZSCORE

zscore [key] [member]

返回有序集合中,成员的分数值
image.png

ZUNIONSTORE

zunionstore destination numkeys [key] [key] …

返回给定有序集合的并集,并存储到destination中
image.png

  • 21
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

苏佰侨。

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

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

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

打赏作者

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

抵扣说明:

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

余额充值