ChenZhen 搜索
首页 标签 归档 留言板 友链 ChatGPT 提示库 AI工具导航网 🚇开往 关于我

Redis的学习笔记

首先,确保 Redis 服务已经启动。可以使用以下命令进入 Redis 客户端(前提是 Redis 已经安装且正在运行): redis-cli Redis键 (key) 操作 keys * 查看当前库所有 key(匹配:keys *1)

ChenZhen 2022-10-06T15:18:12
cover

Redis的学习笔记

作者:ChenZhen
博客地址:https://www.chenzhen.space/
版权:本文为博主 ChenZhen 的原创文章,本文版权归作者所有,转载请附上原文出处链接及本声明。
如果对你有帮助,请给一个小小的star⭐


进入 Redis 客户端

首先,确保 Redis 服务已经启动。可以使用以下命令进入 Redis 客户端(前提是 Redis 已经安装且正在运行):

redis-cli

1. Redis键 (key) 操作

  • keys * 查看当前库所有 key(匹配:keys *1

  • exists key 判断某个 key 是否存在

  • type key 查看你的 key 是什么类型

  • del key 删除指定的 key 数据

  • unlink key 根据 value 选择非阻塞删除,仅将 keys 从 keyspace 元数据中删除,真正的删除会在后续异步操作。

  • expire key 10 为给定的 key 设置 10 秒过期时间

  • ttl key 查看还有多少秒过期,-1 表示永不过期,-2 表示已过期

  • select 命令切换数据库

  • dbsize 查看当前数据库的 key 的数量

  • flushdb 清空当前库

  • flushall 清空全部库


2. Redis五大数据类型

2.1 Redis字符串 (String)

简介

String 是 Redis 最基本的类型,你可以理解为与 Memcached 一模一样的类型,一个 key 对应一个 value。String 类型是二进制安全的,意味着 Redis 的 string 可以包含任何数据,比如 jpg 图片或序列化的对象。一个 Redis 中字符串 value 最多可以是 512M。

常用命令

  • set <key> <value> [参数] 添加键值对

    • NX:当数据库中 key 不存在时,可以将 key-value 添加数据库
    • XX:当数据库中 key 存在时,可以将 key-value 添加数据库,与 NX 参数互斥
    • EX:key 的超时秒数
    • PX:key 的超时毫秒数,与 EX 互斥
  • get <key> 查询对应键值

  • append <key> <value> 将给定的 <value> 追加到原值的末尾

  • strlen <key> 获得值的长度

  • setnx <key> <value> 只有在 key 不存在时设置 key 的值

  • incr <key> 将 key 中储存的数字值加 1(只能对数字值操作,如果为空则新增值为 1)

  • decr <key> 将 key 中储存的数字值减 1(只能对数字值操作,如果为空则新增值为 -1)

  • incrby <key> <步长> / decrby <key> <步长> 将 key 中储存的数字值增减自定义步长。

  • mset <key1> <value1> <key2> <value2> ... 同时设置一个或多个 key-value 对

  • mget <key1> <key2> <key3> ... 同时获取一个或多个 value

  • msetnx <key1> <value1> <key2> <value2> ... 同时设置一个或多个 key-value 对,当且仅当所有给定 key 都不存在(原子性,有一个失败则都失败)

  • getrange <key> <起始位置> <结束位置> 获得值的范围,类似 Java 中的 substring,前包后包

  • setrange <key> <起始位置> <value><value> 覆写 <key> 所储存的字符串值,从 <起始位置> 开始(索引从 0 开始)。

  • setex <key> <过期时间> <value> 设置键值的同时,设置过期时间,单位秒。

  • getset <key> <value> 以新换旧,设置了新值的同时获得旧值。

1. Key 操作

  • keys *:查看当前数据库中所有的 key。
  • exists <key>:检查指定 key 是否存在,存在返回 1,否则返回 0
  • del <key>:删除指定的 key。
  • type <key>:查看指定 key 的类型。
  • expire <key> <seconds>:为指定 key 设置过期时间(单位:秒)。
  • ttl <key>:查看指定 key 剩余的过期时间(秒数),-1 表示永不过期,-2 表示已过期。

2. String 操作

  • set <key> <value>:为 key 设置字符串值。
  • get <key>:获取 key 对应的字符串值。
  • incr <key>:将 key 中储存的数字值加 1。
  • decr <key>:将 key 中储存的数字值减 1。
  • append <key> <value>:将给定的 value 追加到指定 key 的原值后。

3. List 操作

  • lpush <key> <value>:将 value 插入列表的左侧。
  • rpush <key> <value>:将 value 插入列表的右侧。
  • lpop <key>:移除并返回列表的左侧元素。
  • rpop <key>:移除并返回列表的右侧元素。
  • lrange <key> <start> <end>:获取列表指定范围内的元素。

4. Hash 操作

  • hset <key> <field> <value>:将 hash 表 key 中的字段 field 的值设为 value。
  • hget <key> <field>:获取 hash 表 key 中字段 field 对应的值。
  • hdel <key> <field>:删除 hash 表 key 中的指定字段。
  • hgetall <key>:获取 hash 表 key 中的所有字段和值。

5. Set 操作

  • sadd <key> <member>:向集合 key 中添加一个元素。
  • smembers <key>:获取集合 key 中的所有成员。
  • srem <key> <member>:移除集合中的一个或多个成员。

6. Sorted Set 操作

  • zadd <key> <score> <member>:向有序集合添加成员并设置分数。
  • zrange <key> <start> <stop>:根据分数范围获取有序集合中的成员。

7. 数据库操作

  • select <index>:选择 Redis 数据库,索引从 0 开始。
  • dbsize:查看当前数据库的 key 的数量。
  • flushdb:清空当前数据库。
  • flushall:清空所有数据库。

8. 退出 Redis 客户端

  • quit:退出 Redis 客户端。

这些命令可以帮助你完成大多数常见的 Redis 操作。

© 版权声明
😀😃😄😁😆😅🤣😂🙂🙃😉😊😇🥰😍🤩😘😗😚😙😋😛😜🤪😝🤑🤗🤭🤫🤔🤐🤨😐😑😶😏😒🙄😬🤥😌😔😪🤤😴😷🤒🤕🤢🤮🤧🥵🥶🥴😵🤯🤠🥳😎🤓🧐😕😟🙁☹️😮😯😲😳🥺😦😧😨😰😥😢😭😱😖😣😞😓😩😫🥱😤😡😠🤬