Redis的常用命令小结

 更新时间:2023年06月25日 14:21:28   作者:独一无二的哈密瓜  
本文主要介绍了Redis的常用命令小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

1. Redis 数据结构

Redis 是一个键值对的数据库, 也就是 key-value 类型的, 这里的 key 一般都是String类型的, value的类型可以有多种.

基本类型:

  • String 类型
  • Hash 类型
  • List 类型
  • Set 类型
  • SortedSet 类型

特殊数据类型:

  • Gerspatial 地理位置
  • Hyperloglog 基数计数
  • BitMap 位图

2. Redis 通用命令

命令作用
KEYS查看所有符合模板的key
DEL删除一个指定的key
EXISTS判断key是否存在
EXPIRE给key设置有效期,到期会删除key
TTL查看key的剩余有效期
HELP [command]查看命令的具体用法

注: Redis 的key允许有多个单词形成层级结构, 多个单词之间用:隔开, 例如 blog:user:1

① KEYS

② DEL

③ EXISTS

④ EXPIRE

⑤ TTL

这里返回 -2 就是删除了返回 -1 就是存在且没有过期时间

⑥ 层级结构

3. String 类型

value 为String类型, 根据不同的字符串格式, 也可以分为几类

  • string: 普通字符串
  • int: 整数
  • float: 浮点数

注: 字符串类型最大空间不能超过512M

可以使用help @string 来查看string类型的所有方法, 这里展示一些常用的命令.

命令作用
SET [key] [value]添加或者修改已经存在的一个 String 类型的键值对
GET [key]根据 key 获取 String 类型的 value
MSET [key] [value] ( [key] [value] …)批量添加多个 String 类型键值对
MGET [key] ( [key] …)根据多个key获取多个String类型的value
INCR [key]让 key 自增1个
INCRBY [key] [increment]让 key 自增 increment 个
INCRBYFLOAT [key] [increment]让浮点型 key 自增 increment 个
SETNX [key] [value]添加一个String类型键值对, 前提key不存在,否则不执行
SETEX [key] [second] [value]添加一个String类型键值对并指定有效时间

① SET

② GET

③ MSET

④ MGET

⑤ INCR

⑥ INCRBY

⑦ INCRBYFLOAT

⑧ SETNX

⑨ SETEX

4. Hash 类型

Hash类型的value, value内是 field+value 的格式

可以使用help @hash 来查看string类型的所有方法, 这里展示一些常用的命令.

命令作用
HSET [key] [field] [value] ([filed] [value] …)添加或者修改hash类型key的field的值
HGET [key] [field]获取一个hash类型key的field的值
HMSET [key] [field] [value] ([filed] [value] …)批量添加多个hash类型key的field的值
HMGET [key] [field] ( [field] …)批量获取多个hash类型key的field的值
HGETALL [key]获取hash类型的key中所有的field和value
HKEYS [key]获取一个hash类型的key中所有的field
HVALS [key]获取一个hash类型的key中所有的value
HINCRBY [key] [field] [increment]让hash类型key的字段自增
HSETNX [key] [field] [value]添加一个hash类型的key的field的值, 如果存在就不执行

① HSET

这里hset可以添加一个,也可以批量添加

② HGET

这里的hget只能获取一个key的field的值

③ HMSET 和 HMGET

④ HKEYS 和 HVALS

⑤ HINCRBY

⑥ HSETNX

5. List 类型

这里List可以看成一个双向链表特点: ① 有序 ② 元素可重复 ③ 插入删除快 ④ 查询速度一般

命令作用
LPUSH [key] [element] ([element] …)向左侧插入一个或者多个元素
LPOP [key]移除并返回列表左侧的第一个元素, 没有返回nil
RPUSH [key] [element] ([element] …)向右侧插入一个或者多个元素
RPOP [key]移除并返回列表右侧第一个元素, 没有返回nil
LRANGE [key] [start] [stop]返回一段范围内的所有元素
BLPOP [key] ([key]…) [timeout]在没有元素的时候等待指定时间, 而不是返回nil
BRPOP [key] ([key]…) [timeout]在没有元素的时候等待指定时间, 而不是返回nil

① LPUSH

② LPOP

③ RPUSH

④ RPOP

⑤ LRANGE

⑥ BRPOP

6. Set 类型

和Java的Set类似

特点: 1. 无序 2. 元素不可重复 3. 查找快 4. 支持交集. 并集, 差集功能

命令作用
SADD [key] [member] ([member] …)添加一个元素
SREM [key] [member] ([member] …)删除一个元素
SCARD [key]返回元素个数
SISMEMBER [key] [member]判断是否存在一个元素
SMEMBERS [key]获取所有的元素
SINTER [key] ([key] … )求key1 和 key2的交集
SDIFF [key] ([key] … )求key1 和 key2的差集
SUNION [key] ([key] … )求key1 和 key2的并集

案例 将下列数据用 Redis 的Set集合来存储
A 的好友有: B , C , D
B 的好友有: C , E , F
利用Set的命令实现下列功能
① 计算A的好友有多少人
② 计算A和B的共同好友
③ 查询是A的好友却不是B的好友的人是哪些
④ 查询A和B的总共有哪些好友
⑤ 判断B是否是A的好友
⑥ 判断A是否是B的好友
⑦ A删除B的好友

首先将好友存入到列表里

① 计算A的好友有多少人

② 计算A和B的共同好友

③ 查询是A的好友却不是B的好友的人是哪些

④ 查询A和B的总共有哪些好友

⑤ 判断B是否是A的好友

⑥ 判断A是否是B的好友

⑦ A删除B的好友

7. SortedSet 类型

是一个可排序的Set集合特点: 1. 可排序 2. 元素不重复 3. 查询速度快

命令作用
ZADD [key] [score] [member] ([score] [member] …)添加一个或者多个元素, 如果存在,更新score值
ZREM [key] [member] ([member] …)删除指定元素
ZSCORE [key] [member]获取指定元素的score值
ZRANK [key] [member]获取指定元素的排名
ZCARD [key]获取元素个数
ZCOUNT [key] [min] [max]统计指定范围内的元素个数
ZINCRBY [key] [increment] [member]
ZRANGE [key] [min] [max]获取指定排名范围内的元素
ZRANGEBYSCORE [key] [min] [max]获取指定score范围内的元素
ZDIFF [numkeys] key ([key] …)差集
ZINTER [numkeys] key ([key] …)交集
ZUNION [numkeys] key ([key] …)并集

所有排名默认是升序, 如果要降序在命令的Z后面添加REV即可, 例如ZREVRANK

案例

将班级的下列学生得分情况存入 Redis 的SortedSet中
A 85, B 89, C 82, D 95, E 78, F 92, G 76
实现以下功能
① 删除D同学
② 获取F同学的分数
③ 获取C同学的排名
④ 查询80分以下有几名同学
⑤ 给F同学加2分
⑥ 查出成绩前3名的同学
⑦ 查出成绩80分以下的所有同学

首先将成绩存入Redis中

① 删除D同学

② 获取F同学的分数

③ 获取C同学的排名

④ 查询80分以下有几名同学

⑤ 给F同学加2分

⑥ 查出成绩前3名的同学

⑦ 查出成绩80分以下的所有同学

 到此这篇关于Redis的常用命令小结的文章就介绍到这了,更多相关Redis 常用命令内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • redis数据一致性之延时双删策略详解

    redis数据一致性之延时双删策略详解

    在使用redis时,需要保持redis和数据库数据的一致性,最流行的解决方案之一就是延时双删策略,今天我们就来详细刨析一下,需要的朋友可以参考下
    2023-09-09
  • 完美解决linux上启动redis后配置文件未生效的问题

    完美解决linux上启动redis后配置文件未生效的问题

    今天小编就为大家分享一篇完美解决linux上启动redis后配置文件未生效的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-05-05
  • Linux下Redis安装配置教程

    Linux下Redis安装配置教程

    这篇文章主要为大家详细介绍了Linux下Redis安装配置教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-11-11
  • Redis操作命令总结

    Redis操作命令总结

    这篇文章主要介绍了Redis操作命令总结,本文讲解了key pattern 查询相应的key、字符串类型的操作、链表操作、hashes类型及操作、集合结构操作、有序集合、服务器相关命令等内容,需要的朋友可以参考下
    2015-03-03
  • 在Redis集群中使用pipeline批量插入的实现方法

    在Redis集群中使用pipeline批量插入的实现方法

    这篇文章主要介绍了在Redis集群中使用pipeline批量插入的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-05-05
  • Redis使用bloom-filter过滤器实现推荐去重

    Redis使用bloom-filter过滤器实现推荐去重

    这篇文章主要介绍了Redis使用bloom-filter过滤器实现推荐去重,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-11-11
  • Redis报错:无法连接Redis服务的解决方法

    Redis报错:无法连接Redis服务的解决方法

    在Linux系统上运行Redis服务时,有时会遇到“无法连接Redis服务”的报错,本文就详细的介绍一下解决方法,具有一定的参考价值,感兴趣的可以了解一下
    2023-09-09
  • redis延迟双删策略示例讲解

    redis延迟双删策略示例讲解

    延迟是指当前请求逻辑处理延时,而不是当前线程或进程睡眠延迟,下面这篇文章主要给大家介绍了关于redis延迟双删策略的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-04-04
  • 一文带你了解Redis的三种集群模式

    一文带你了解Redis的三种集群模式

    Redis 的常用的集群方式主要有以下三种,分别是主从复制模式、哨兵模式、Redis-Cluster集群模式,那么下面我们就分别了解一下这三种集群模式的优点与缺点
    2023-06-06
  • Redis中常见的几种集群部署方案

    Redis中常见的几种集群部署方案

    本文主要介绍了Redis中常见的几种集群部署方案,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-03-03

最新评论