Redis 的常用命令

这篇具有很好参考价值的文章主要介绍了Redis 的常用命令。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1. Redis 数据结构

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

基本类型:

  1. String 类型
  2. Hash 类型
  3. List 类型
  4. Set 类型
  5. SortedSet 类型
     

特殊数据类型:

  1. Gerspatial 地理位置
  2. Hyperloglog 基数计数
  3. BitMap 位图

2. Redis 通用命令

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

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

① KEYS

Redis 的常用命令

② DEL

Redis 的常用命令

③ EXISTS

Redis 的常用命令

④ EXPIRE

Redis 的常用命令

⑤ TTL

这里返回 -2 就是删除了
返回 -1 就是存在且没有过期时间
Redis 的常用命令
Redis 的常用命令
⑥ 层级结构
Redis 的常用命令
Redis 的常用命令
Redis 的常用命令

3. String 类型

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

  1. string: 普通字符串
  2. int: 整数
  3. 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
Redis 的常用命令

② GET
Redis 的常用命令
③ MSET
Redis 的常用命令
④ MGET
Redis 的常用命令
⑤ INCR
Redis 的常用命令
⑥ INCRBY
Redis 的常用命令

⑦ INCRBYFLOAT

Redis 的常用命令
⑧ SETNX
Redis 的常用命令
⑨ SETEX
Redis 的常用命令

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可以添加一个,也可以批量添加
Redis 的常用命令
② HGET
这里的hget只能获取一个key的field的值
Redis 的常用命令
③ HMSET 和 HMGET
Redis 的常用命令
Redis 的常用命令
④ HKEYS 和 HVALS
Redis 的常用命令
⑤ HINCRBY
Redis 的常用命令
⑥ HSETNX
Redis 的常用命令

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
Redis 的常用命令
Redis 的常用命令
② LPOP
Redis 的常用命令
Redis 的常用命令
③ RPUSH
Redis 的常用命令
Redis 的常用命令
④ RPOP
Redis 的常用命令
Redis 的常用命令
⑤ LRANGE
Redis 的常用命令
⑥ BRPOP
Redis 的常用命令
Redis 的常用命令

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的好友

首先将好友存入到列表里
Redis 的常用命令
Redis 的常用命令
Redis 的常用命令

① 计算A的好友有多少人

Redis 的常用命令

② 计算A和B的共同好友

Redis 的常用命令

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

Redis 的常用命令

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

Redis 的常用命令

⑤ 判断B是否是A的好友

Redis 的常用命令

⑥ 判断A是否是B的好友

Redis 的常用命令

⑦ A删除B的好友

Redis 的常用命令

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中
Redis 的常用命令
Redis 的常用命令

① 删除D同学

Redis 的常用命令
Redis 的常用命令

② 获取F同学的分数

Redis 的常用命令

③ 获取C同学的排名

Redis 的常用命令

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

Redis 的常用命令

⑤ 给F同学加2分

Redis 的常用命令

⑥ 查出成绩前3名的同学

Redis 的常用命令

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

Redis 的常用命令文章来源地址https://www.toymoban.com/news/detail-405312.html

到了这里,关于Redis 的常用命令的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Redis Redis的数据结构 - 通用命令 - String类型命令 - Hash类型命令

    目录 Redis的数据结构: Redis命令: 通用命令:(通用指令是部分数据类型的,都可以使用的指令) KEYS查询命令: DEL删除命令: EXISTS判断命令: EXPIPE有效期设置命令: TTL查看剩余期限命令: String类型: String的3种类型: String类型的常见命令: SET插入数据命令: MSET多重插

    2024年02月09日
    浏览(46)
  • Redis常用的数据结构及实际应用场景

    本文介绍了Redis中常用的数据结构,包括字符串、列表、集合、哈希表、有序集合和Bitmap,并结合实际案例详细说明了它们在各种场景下的使用。 Redis是一种基于内存的高性能键值存储系统,拥有多种数据结构,每种数据结构都具有独特的特点和适用场景。了解这些数据结构

    2024年02月08日
    浏览(53)
  • 【Redis入门篇】| 常见数据结构介绍、Redis常见命令(文末送书)

    目录 一:常见数据结构介绍、Redis常见命令 1. Redis数据结构介绍 2. Redis通用命令 3. String类型 4. Hash类型 5. List类型 6. Set类型 7. SortedSet类型 图书推荐 1. Redis数据结构介绍 Redis是一个key-value的数据库,key一般是String类型,不过value的类型多种多样: 基本类型: String、Hash、List、

    2023年04月22日
    浏览(40)
  • 【JavaSE专栏55】Java集合类HashTable解析,基于哈希表实现的唯一性键值对存储数据结构

    作者主页 :Designer 小郑 作者简介 :3年JAVA全栈开发经验,专注JAVA技术、系统定制、远程指导,致力于企业数字化转型,CSDN学院、蓝桥云课认证讲师。 主打方向 :Vue、SpringBoot、微信小程序 本文讲解了 Java 中集合类 HashTable 的语法、使用说明和应用场景,并给出了样例代码。

    2024年02月15日
    浏览(57)
  • 【高阶数据结构】map和set的介绍和使用 {关联式容器;键值对;map和set;multimap和multiset;OJ练习}

    关联式容器和序列式容器是C++ STL中的两种不同类型的容器。 关联式容器是基于键值对的容器 ,其中每个元素都有一个唯一的键值,可以通过键值来访问元素。关联式容器包括set、multiset、map和multimap。 序列式容器是基于元素序列的容器 ,其中元素按照一定的顺序排列,可以

    2024年02月11日
    浏览(41)
  • Redis内部数据结构Dict结构详解

    dict的数据结构定义 dict的创建(dictCreate) dict的查找(dictFind) dict的插入(dictAdd和dictReplace) dict的删除(dictDelete) 如果你使用过Redis,一定会像我一样对它的内部实现产生兴趣。《Redis内部数据结构详解》是我准备写的一个系列,也是我个人对于之前研究Redis的一个阶段性

    2024年01月21日
    浏览(39)
  • Redis五种数据结构底层编码结构

    Redis中的 任意数据类型的键和值都会被封装为一个RedisObject ,也叫做Redis对象,源码如下: 对象头不包含数据就已经占16字节,如果数据存string型,一个string一个对象头比较浪费空间,存大量数据时还是建议使用集合,这样可以共用一个对象头更加节省空间 Redis中会根据存储

    2024年02月11日
    浏览(41)
  • 数据结构与算法——数据结构有哪些,常用数据结构详解

    数据结构是学习数据存储方式的一门学科,那么,数据存储方式有哪几种呢?下面将对数据结构的学习内容做一个简要的总结。 数据结构大致包含以下几种存储结构: 线性表,还可细分为顺序表、链表、栈和队列; 树结构,包括普通树,二叉树,线索二叉树等; 图存储结构

    2024年02月15日
    浏览(63)
  • Redis常用数据类型及常用命令

    服务端运行 配置文件需要输入完整地址 连接数据库 设置数据库密码 编辑 redis.windows.conf 文件 带端口密码地址连接数据库 利用可视化工具连接redis 连接前需启动服务端 地址: https://gitee.com/qishibo/AnotherRedisDesktopManager/releases 字符串操作命令 哈希操作命令 列表操作命令 集合操

    2024年02月11日
    浏览(65)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包