当前位置: 首页 > article >正文

【知识点总结】 Redis 数据类型操作指令

Redis 数据类型操作指令

1. 五种常用数据类型

Redis 存储的是 key-value 结构的数据, 其中key 是字符串类型,value有5种常用的数据类型:

  • 字符串 string
  • 哈希 hash
  • 列表 list
  • 集合 set
  • 有序集合 sorted set / zset

2 各种数据类型的特点

解释说明:

  • 字符串(string):普通字符串,Redis中最简单的数据类型
  • 哈希(hash):也叫散列,雷诗雨java中的HashMap结构
  • 列表(list):按照插入顺序排序,可有重复元素,类似与java中的linkedList
  • 集合(set):无序集合,没有重复元素,类似于java中的HashSet
  • 有序集合(sorted set/zset):集合中每个元素关联一个分数(score),根据分数升序排序,没有重复元素

3. Redis 常用命令

3.1 string 字符串操作命令

Redis 中字符串类型常用命令:

  • SET key value 设置指定key的值
  • GET key 获取指定key的值
  • SETEX key seconds value 设置指定key的值,并将 key 的过期时间设为 seconds 秒
  • SETNX key value 只有在 key 不存在时设置 key 的值

更多命令可以参考Redis中文网:https://www.redis.net.cn1

3.2 哈希操作命令

Redis hash 是一个string类型的 field 和 value 的映射表,hash特别适合用于存储对象,常用命令:

  • HSET key field value 将哈希表 key 中的字段 field 的值设为 value
  • HGET key field 获取存储在哈希表中指定字段的值
  • HDEL key field 删除存储在哈希表中的指定字段
  • HKEYS key 获取哈希表中所有字段
  • HVALS key 获取哈希表中所有值

3.3 列表操作命令

Redis 列表是简单的字符串列表,按照插入顺序排序,常用命令:

  • LPUSH key value1 [value2] 将一个或多个值插入到列表头部
  • LRANGE key start stop 获取列表指定范围内的元素
  • RPOP key 移除并获取列表最后一个元素
  • LLEN key 获取列表长度
  • BRPOP key1 [key2 ] timeout 移出并获取列表的最后一个元素, 如果列表没有元素会阻塞列表直到等待超 时或发现可弹出元素为止

3.4 集合操作命令

Redis set 是string类型的无序集合。集合成员是唯一的,这就意味着集合中不能出现重复的数据,常用命令:

  • SADD key member1 [member2] 向集合添加一个或多个成员
  • SMEMBERS key 返回集合中的所有成员
  • SCARD key 获取集合的成员数
  • SINTER key1 [key2] 返回给定所有集合的交集
  • SUNION key1 [key2] 返回所有给定集合的并集
  • SREM key member1 [member2] 移除集合中一个或多个成员

3.5 有序集合操作命令

Redis有序集合是string类型元素的集合,且不允许有重复成员。每个元素都会关联一个double类型的分数。常用命令:

常用命令:

  • ZADD key score1 member1 [score2 member2] 向有序集合添加一个或多个成员
  • ZRANGE key start stop [WITHSCORES] 通过索引区间返回有序集合中指定区间内的成员
  • ZINCRBY key increment member 有序集合中对指定成员的分数加上增量 increment
  • ZREM key member [member …] 移除有序集合中的一个或多个成员

3.6 通用命令

Redis的通用命令是不分数据类型的,都可以使用的命令:

  • KEYS pattern 查找所有符合给定模式( pattern)的 key
  • EXISTS key 检查给定 key 是否存在
  • TYPE key 返回 key 所储存的值的类型
  • DEL key 该命令用于在 key 存在是删除 key

http://www.kler.cn/a/387395.html

相关文章:

  • vue3+vite搭建脚手架项目本地运行electron桌面应用
  • 灵活就业,真的等同于失业吗?“三无人员”如何齐短板获贷款
  • 基于STM32的智能充电桩:集成RTOS、MQTT与SQLite的先进管理系统设计思路
  • 图像处理自动渲染代码
  • 【Python无敌】在 QGIS 中使用 Python
  • 关于Django 模型字段 `choices`自定义数据类型的枚举——补充
  • GitHub 和 Gitee 的区别和选择指南
  • 【数据集】【YOLO】【目标检测】交通事故识别数据集 8939 张,YOLO道路事故目标检测实战训练教程!
  • js下载excel示例demo
  • Vue keep-alive 深度使用解读
  • 删除conda和 pip 缓存的包
  • 深度剖析RPC框架:为你的分布式应用找到最佳通信方式
  • 每天五分钟深度学习PyTorch:基于全连接神经网络完成手写字体识别
  • 深入Zookeeper节点操作:高级功能与最佳实践
  • IDA*算法 Power Calculus————poj 3134
  • 孔夫子的数字化宝库:用API解锁在售商品的秘密
  • 安装lua-nginx-module实现WAF功能
  • 瞬间对大模型与NLP的兴趣达到了1000000000%
  • 腾讯混元3D-1.0:文本到三维和图像到三维生成的统一框架
  • websphere CVE-2015-7450反序列化和弱口令,后台Getshell
  • 【赵渝强老师】Redis的AOF数据持久化
  • Spring——入门
  • MySQL 数据表常用编码类型解析
  • Java | Leetcode Java题解之第554题砖墙
  • 怎么把图片快速压缩变小?图片在线压缩的3款简单工具
  • 跨境访问难题?SD-WAN跨境加速专线加速电商社交媒体推广