Redis的常用命令

本文涉及的产品
云数据库 Tair(兼容Redis),内存型 2GB
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
简介: Redis的常用命令

REmote DIctionary Server(Redis) 是一个由 Salvatore Sanfilippo 写的 key-value 存储系统,是跨平台的非关系型数据库。

Redis 是一个开源的使用 ANSI C 语言编写、遵守 BSD 协议、支持网络、可基于内存、分布式、可选持久性的键值对(Key-Value)存储数据库,并提供多种语言的 API。

Redis 具有以下性质:

    1. 内存数据库:Redis 将所有数据存储在内存中,因此读写速度非常快。但是,由于内存容量有限,需要设置过期时间或定期持久化到磁盘上。
    2. 键值数据库:Redis 的数据模型使用键值对来存储数据,键和值都可以是字符串类型,因此可以存储各种各样的数据,如字符串、数字、列表、集合、哈希等。
    3. 支持多种数据结构:Redis 不仅支持基础数据类型,还支持列表、集合、有序集合、哈希表等复杂数据结构,并提供了相应的命令进行操作。
    4. 高效快速:Redis 可以处理高并发请求,能够进行快速读写操作,且具有原子性、事务性和持久化等特点,使其成为一个高效的缓存和数据存储解决方案。
    5. 分布式:Redis 支持分布式架构,可以通过搭建 Redis 集群实现数据的扩展和负载均衡。
    6. 开源免费:Redis 是一款开源的软件,拥有丰富的社区资源和生态系统,并且可以免费使用。

    Redis 支持多种数据类型,常用的包括:

      1. 字符串(String):最基本的数据类型,可以存储字符串、整数或浮点数。
      2. 哈希表(Hash):由字段和值组成的无序散列表,适合存储对象。
      3. 列表(List):按照插入顺序排序的字符串列表。
      4. 集合(Set):无序且不重复的字符串集合。
      5. 有序集合(Sorted Set):与集合类似,但每个成员都关联着一个浮点数值,称为分值(score),并按照分值排序。

      除了以上常用的数据类型,Redis 还支持一些其他的特殊数据类型,如地理位置信息(Geo)、位图(Bitmap)等。选择正确的数据类型可以提高 Redis 的性能,并且使代码更加简洁易读。

      Redis 的通用命令:

      命令 描述
      SELECT index 选择指定索引的数据库
      FLUSHDB 删除当前数据库中的所有 key
      FLUSHALL 删除所有数据库中的所有 key
      INFO [section] 获取 Redis 服务器的各种信息和统计数值
      PING 检查 Redis 服务器是否运行
      TIME 返回当前服务器时间
      AUTH password 对 Redis 服务器进行身份验证
      QUIT 关闭与当前客户端的连接

      除了上述命令外,Redis 还提供了许多其他的命令,如事务、发布订阅、Lua 脚本等。这些特殊的命令有些是针对某个特定功能而设计的,有些则是为了提高 Redis 效率而设计的。需要根据具体情况选择使用。

      键值操作

      命令 描述
      SET key value 设置指定 key 的值
      GET key 获取指定 key 的值
      DEL key 删除指定 key
      EXISTS key 判断指定 key 是否存在
      INCR key 将指定 key 的值加 1
      DECR key 将指定 key 的值减 1
      KEYS pattern 查找所有符合给定模式 pattern 的 key
      RANDOMKEY 从当前数据库中随机返回一个 key
      RENAME old_key new_key 将 key 重命名为 new_key
      TTL key 获取指定 key 的过期时间

      列表操作

      命令 描述
      LPUSH key value 在列表左侧插入一个或多个元素
      RPUSH key value 在列表右侧插入一个或多个元素
      LPOP key 弹出并返回列表最左侧的元素
      RPOP key 弹出并返回列表最右侧的元素
      LINDEX key index 获取列表中第 index 个元素
      LRANGE key start end 获取列表中从 startend 索引范围内的元素
      LLEN key 获取列表长度

      哈希表操作

      命令 描述
      HSET key field value 设置哈希表 key 中的一个字段 field 的值为 value
      HGET key field 获取哈希表 key 中指定 field 的值
      HGETALL key 获取哈希表 key 中所有字段和对应的值
      HDEL key field [field ...] 删除哈希表 key 中的一个或多个字段

      集合操作

      命令 描述
      SADD key member [member ...] 向集合 key 添加一个或多个成员
      SMEMBERS key 获取集合 key 中的所有成员
      SREM key member [member ...] 从集合 key 中删除一个或多个成员
      SCARD key 获取集合 key 的基数(集合中元素的数量)
      SISMEMBER key member 判断 member 是否是集合 key 的成员
      SRANDMEMBER key [count] 从集合 key 中返回一个或多个随机元素

      有序集合

      命令 描述
      ZRANGE key start stop [WITHSCORES] 获取有序集合 key 中指定范围内的成员,按照分值从小到大排序
      ZREVRANGE key start stop [WITHSCORES] 获取有序集合 key 中指定范围内的成员,按照分值从大到小排序
      ZCARD key 获取有序集合 key 中成员的数量
      ZCOUNT key min max 获取有序集合 key 中分值在 minmax 之间的成员数量
      ZSCORE key member 获取有序集合 key 中指定成员的分值
      ZREM key member [member ...] 删除有序集合 key 中的一个或多个成员
      ZINCRBY key increment member 将有序集合 key 中指定成员的分值增加 increment
      ZRANK key member 获取有序集合 key 中指定成员的排名(按照分值从小到大排序)
      ZREVRANK key member 获取有序集合 key 中指定成员的排名(按照分值从大到小排序)

      想知道更多命令可通过以下网站:

      官网:Redis

      菜鸟教程:Redis 教程 | 菜鸟教程


      初读不知诗中意,在闻已是诗中人

      相关实践学习
      基于Redis实现在线游戏积分排行榜
      本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
      云数据库 Redis 版使用教程
      云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
      相关文章
      |
      4天前
      |
      NoSQL 应用服务中间件 API
      Redis是如何建立连接和处理命令的
      本文主要讲述 Redis 是如何监听客户端发出的set、get等命令的。
      |
      2月前
      |
      NoSQL Java Redis
      redis的基本命令,并用netty操作redis(不使用springboot或者spring框架)就单纯的用netty搞。
      这篇文章介绍了Redis的基本命令,并展示了如何使用Netty框架直接与Redis服务器进行通信,包括设置Netty客户端、编写处理程序以及初始化Channel的完整示例代码。
      71 1
      redis的基本命令,并用netty操作redis(不使用springboot或者spring框架)就单纯的用netty搞。
      |
      1月前
      |
      存储 NoSQL Java
      Redis命令:列表模糊删除详解
      通过本文的介绍,我们详细探讨了如何在Redis中实现列表的模糊删除。虽然Redis没有直接提供模糊删除命令,但可以通过组合使用 `LRANGE`和 `LREM`命令,并在客户端代码中进行模糊匹配,来实现这一功能。希望本文能帮助你在实际应用中更有效地操作Redis列表。
      56 0
      |
      2月前
      |
      缓存 NoSQL 测试技术
      Redis如何解决频繁的命令往返造成的性能瓶颈!
      Redis如何解决频繁的命令往返造成的性能瓶颈!
      |
      2月前
      |
      缓存 NoSQL Redis
      Redis命令:列表模糊删除详解
      Redis命令:列表模糊删除详解
      88 3
      |
      2月前
      |
      NoSQL 关系型数据库 MySQL
      Redis 事务特性、原理、具体命令操作全方位诠释 —— 零基础可学习
      本文全面阐述了Redis事务的特性、原理、具体命令操作,指出Redis事务具有原子性但不保证一致性、持久性和隔离性,并解释了Redis事务的适用场景和WATCH命令的乐观锁机制。
      386 0
      Redis 事务特性、原理、具体命令操作全方位诠释 —— 零基础可学习
      |
      2月前
      |
      NoSQL Redis 数据安全/隐私保护
      Redis 命令
      10月更文挑战第15天
      38 0
      |
      3月前
      |
      监控 NoSQL Redis
      redis-server --service-install redis.windows.conf --loglevel verbose 命令的作用是什么?
      redis-server --service-install redis.windows.conf --loglevel verbose 命令的作用是什么?
      150 3
      |
      3月前
      |
      存储 缓存 NoSQL
      Redis 过期删除策略与内存淘汰策略的区别及常用命令解析
      Redis 过期删除策略与内存淘汰策略的区别及常用命令解析
      83 0
      |
      4月前
      |
      存储 消息中间件 NoSQL
      Redis命令详解以及存储原理
      Redis命令详解以及存储原理