Redis 五大基本数据类型常见命令

一、redis中的常见数据结构

Redis共有5种常见数据结构,分别字符串(STRING)、列表(LIST)、集合(SET)、散列(HASH)、有序集合(ZSET)。

二、redis中五大基本数据类型介绍

字符串(String)介绍

String 类型是一个 k-v 键值对形式的数据类型,一个 key 对应一个 value。

使用场景:

  1. 计数器
  2. 统计多单位的数量(uid:122:follow 10)
  3. 粉丝数
  4. 对象缓存存储
  5. ...

列表(List)介绍

集合中的值 可以 重复

集合(Set)介绍

集合中的值 不能 重复(无序)

哈希(Hash)介绍

key - Map or key - ,value 是一个 Map

用户信息保存,经常变动的信息,适合对象的存储

有序集合(Zset)介绍

在Set基础上增加了一个值(用于排序的值)

存储班级成绩表,工资表排序,

普通消息 = 1,重要消息 = 2,带权重进行判断

排行榜应用实现

三、String 常见命令及对库的命令

1.Redis 默认有16个数据库(0~15),默认使用第0个

可以使用 select 进行切换

Redis 五大基本数据类型常见命令_第1张图片

2.查看数据库大小

使用 dbsize查看数据库大小

3.查看所有的key(当前库)

使用 keys *

4.清除当前数据库

flushdb

5.清空所有数据库

flushall

6.判断key是否存在

exists  key

7.移除key

move key 1 // 1 表示移动到哪个数据库

del key // 删除当前数据库的key(可以多个)

Redis 五大基本数据类型常见命令_第2张图片

8.设置key的过期时间

expire key 时间 // 单位时间为s

ttl key // 查看剩余存活时间

Redis 五大基本数据类型常见命令_第3张图片

9.查看当前key的类型

type key

10.字符串追加(String)

append key appendValue

  • 如果当前 key 不存在,作用相当于 set key

11.获取字符串长度(String)

strlen key

Redis 五大基本数据类型常见命令_第4张图片

12.字符串i++操作(可用于阅读量实现)(String)

incr key

Redis 五大基本数据类型常见命令_第5张图片

同理,i --

decr key

步长设置

incrby key 步长

decrby key 步长

Redis 五大基本数据类型常见命令_第6张图片

13.字符串片段 Range (String)(Range:范围)

getrange key [startIndex] [endIndex]

  • 对应java里的substring(但是这里会endIndex是一个闭区间)
  • 特例,endIndex = -1 时,表示从startIndex 到最后

Redis 五大基本数据类型常见命令_第7张图片

14.字符串替换 (String)(Range:范围)

setrange key index replaceString

  • 对应java里的replace
  • 注意,如果replaceString是一个字符串,那么会替换源字符串中index后replaceString长度的片段,结果如下

Redis 五大基本数据类型常见命令_第8张图片

15.特殊set设置 (String)

setex(set with expire)

setex key 时间 value // 设置值,带过期时间

Redis 五大基本数据类型常见命令_第9张图片

setnx(set if not exist)

setnx key value // 如果不存在,则设置

Redis 五大基本数据类型常见命令_第10张图片

16.批量设置、批量获取(原子性操作) (String)

mset k1 v1 k2 v2 …

mget k1 k2 …

Redis 五大基本数据类型常见命令_第11张图片

  • 特殊
    • msetnx 批量设置(要么都成功,要么都失败)(原子性)

17.设置高阶 (String)

1)getset

getset key value // 先get再set(如果不存在,先返回nil,在设置值;如果存在,就先返回原值,再设置新值)

Redis 五大基本数据类型常见命令_第12张图片

18.重命名key

rename key newName

Redis 五大基本数据类型常见命令_第13张图片

四、List(列表)常见命令

使用场景:

  1. 栈(lpush、lpop)
  2. 队列(lpush、rpop)
    1. 消息队列
  3. 阻塞队列
  4. ....

1.从头部/尾部 插入 数据,以及数据 显示

lpush key value   // 从左边插入一个值

rpush key value   // 从右边插入一个值

lrange key 0 -1    // 从下标 0 开始,-1 代表遍历完

Redis 五大基本数据类型常见命令_第14张图片

Redis 五大基本数据类型常见命令_第15张图片

2.从头部/尾部 移除 数据

lpop key

rpop key

Redis 五大基本数据类型常见命令_第16张图片

3.获取 指定索引的值

lindex key index

Redis 五大基本数据类型常见命令_第17张图片

4.获取列表长度

llen key

5.移除指定的值

lrem key count(移除的个数) element

Redis 五大基本数据类型常见命令_第18张图片

6.列表修剪 trim

        相当于 Java 中的 substring() 

ltrim key startIndex endIndex

Redis 五大基本数据类型常见命令_第19张图片

7.也可以使用set

lset key index value // 将列表中 指定 index 的值替换为对应的 value

  • 需要保证key和index都存在,否则报错

Redis 五大基本数据类型常见命令_第20张图片

8.插入指定的值

linsert key before|after pivot(那个值后) value

Redis 五大基本数据类型常见命令_第21张图片

五、Set(集合)

集合中的值不能重复(无序)

1.添加成员到集合中,并查看所有成员

sadd key member

smembers key

Redis 五大基本数据类型常见命令_第22张图片

2.判定成员是否存在

sismember key member

Redis 五大基本数据类型常见命令_第23张图片

3.查看集合长度(特别)

scard key

4.移除指定的成员

srem key member

5.获取集合中的随机成员

srandmember key [count]

Redis 五大基本数据类型常见命令_第24张图片

6.随机移除成员

spop key [count]

Redis 五大基本数据类型常见命令_第25张图片

7.移动集合成员到其他集合

smove source destination member(需要移动的成员)

Redis 五大基本数据类型常见命令_第26张图片

8.数字集合类:

  • 差集 sdiff key1 ,key2 …
  • 交集(共同好友)sinter key1,key2 …
  • 并集 sunion key1 ,key2 …

Redis 五大基本数据类型常见命令_第27张图片

六、Hash(哈希)

key - Map  or  key - ,value 是一个 Map。

应用场景:用户信息保存,经常变动的信息,适合对象的存储 

1.简单存储Map和获取Map

hset key field value

hmset key field value [k1 v1 [k2 v2 …]]  // 批量添加一个 Hash 中的 key 和 value

hget key field

2.获取所有Map字段及值

hgetall key

Redis 五大基本数据类型常见命令_第28张图片

3.删除Map中的字段

hdel key field

Redis 五大基本数据类型常见命令_第29张图片

4.查看Map中某字段是否存在

hexists key field

5.获取所有字段或者所有字段对应的值

hkeys key // 此处的key是Map名

hvals key

Redis 五大基本数据类型常见命令_第30张图片

6.增量i++

hincrby key field value

Redis 五大基本数据类型常见命令_第31张图片

7.不存在,就添加成功

hsetnx key field value // field 在map中不存在就添加这个值,否则不做改变

Redis 五大基本数据类型常见命令_第32张图片

8.适合存储对象(hmset)

在Set基础上增加了一个值(用于排序的值)

存储班级成绩表,工资表排序,

普通消息 = 1,重要消息 = 2,带权重进行判断

排行榜应用实现

七、Zset(有序集合) 

1.添加 和 获取

zadd key n value

zrange key startIndex endIndex

Redis 五大基本数据类型常见命令_第33张图片

2.排序实现(升序和降序)

zrangebyscore key -inf +inf [withscores] // 升序

zrange key 0 -1

zrevrangebyscore key +inf -inf [withscores] // 降序

zrevrange key 0 -1

zrangebyscore key -inf 任意值n // 升序 + 显示区间 [-inf,n]

3.移除指定的值

zrem key value

Redis 五大基本数据类型常见命令_第34张图片

4.集合的长度

zcard key

Redis 五大基本数据类型常见命令_第35张图片

5.指定区间的集合长度

zcount key startIndex endIndex

Redis 五大基本数据类型常见命令_第36张图片

你可能感兴趣的:(Redis,redis,数据库,缓存)