【缓存与加速技术实践】Redis数据类型

文章目录

  • [Redis 数据类型](#Redis 数据类型)
    • [String 数据类型](#String 数据类型)
    • [List 数据类型](#List 数据类型)
    • [Hash 数据类型](#Hash 数据类型)
    • [Set 数据类型](#Set 数据类型)
    • [Sorted Set 数据类型](#Sorted Set 数据类型)

Redis 数据类型

Redis支持五种主要的数据类型:

String(字符串)、List(列表)、Hash(散列)、Set(无序集合)和Sorted Set(有序集合)。

String 数据类型

  • 概述:最基本的数据类型,最大存储容量为512MB,支持二进制安全存储。
  • 常用命令
    • SET/GET:设置和获取键值。
    • APPEND:追加字符串。
    • STRLEN:获取字符串长度。
    • INCR/DECR:递增/递减数值。
    • INCRBY/DECRBY:按指定数值递增/递减。
    • GETSET:获取旧值并设置新值。
    • SETEX:设置键值并指定过期时间。
    • SETNX:仅在键不存在时设置值。
    • MSET/MGET:批量设置/获取键值。
    • MSETNX:批量设置键值,仅当所有键都不存在时成功。

List 数据类型

  • 概述:元素为字符串,按插入顺序排序,支持头部和尾部操作。
  • 常用命令
    • LPUSH/LPUSHX:从左侧插入元素。
    • LRANGE:获取指定范围的元素。
    • LPOP/LLEN:弹出左侧元素/获取列表长度。
    • LREM/LSET/LINDEX/LTRIM:删除元素/设置指定索引的元素值/获取指定索引的元素值/修剪列表。
    • LINSERT:在指定元素前或后插入新元素。
    • RPUSH/RPUSHX:从右侧插入元素。
    • RPOP/RPOPLPUSH:弹出右侧元素/将元素从一个列表移动到另一个列表。

Hash 数据类型

  • 概述:用于存储对象,字段名作为键,字段值作为值。
  • 常用命令
    • HSET/HGET/HDEL:设置/获取/删除字段值。
    • HEXISTS/HLEN:检查字段是否存在/获取字段数量。
    • HSETNX:仅在字段不存在时设置值。
    • HINCRBY:按指定数值递增字段值。
    • HGETALL/HKEYS/HVALS:获取所有字段和值/获取所有字段名/获取所有字段值。
    • HMGET/HMSET:批量获取/设置字段值。

Set 数据类型

  • 概述:无序集合,元素唯一。
  • 常用命令
    • SADD/SMEMBERS/SCARD:添加元素/获取所有元素/获取集合大小。
    • SISMEMBER:检查元素是否存在。
    • SPOP/SREM:随机弹出元素/删除指定元素。
    • SRANDMEMBER:随机返回一个元素。
    • SMOVE:将元素从一个集合移动到另一个集合。

Sorted Set 数据类型

  • 概述:有序集合,元素唯一且关联分数。
  • 常用命令
    • ZADD/ZCARD/ZCOUNT:添加元素/获取集合大小/统计分数范围内的元素数量。
    • ZREM/ZINCRBY/ZSCORE:删除元素/按指定数值递增分数/获取元素的分数。
    • ZRANGE/ZRANK:按顺序/位置索引获取元素。
    • ZRANGEBYSCORE/ZREMRANGEBYRANK/ZREMRANGEBYSCORE:按分数范围/位置索引范围/分数范围删除元素。
    • ZREVRANGE/ZREVRANGEBYSCORE/ZREVRANK:按位置索引逆序获取元素/按分数逆序获取元素/获取元素逆序位置索引。
相关推荐
Tansmjs15 分钟前
使用Python自动收发邮件
jvm·数据库·python
m0_5613596718 分钟前
用Python监控系统日志并发送警报
jvm·数据库·python
Dxy123931021629 分钟前
MySQL INSERT ... ON DUPLICATE KEY UPDATE 与非主键唯一字段
数据库·mysql
编程彩机44 分钟前
互联网大厂Java面试:从微服务到分布式缓存的技术场景解析
redis·spring cloud·消息队列·微服务架构·openfeign·java面试·分布式缓存
zhousenshan1 小时前
springboot事务管理几种方式
数据库
布局呆星1 小时前
SQLite数据库的介绍与使用
数据库·python
2401_838472511 小时前
用Python和Twilio构建短信通知系统
jvm·数据库·python
石头wang1 小时前
oracle jdbc 依赖以及对dbeaver的性能影响,如何选择oracle驱动, oracle jdbc 驱动
数据库·oracle
weixin_452159551 小时前
如何从Python初学者进阶为专家?
jvm·数据库·python
小白跃升坊2 小时前
基于1Panel的AI运维
linux·运维·人工智能·ai大模型·教学·ai agent