Redis基础入门深度指南

Redis基础入门深度指南

一、Redis的本质探究

Redis是一款开源的、以内存为基础的键值对数据库。它具备如下关键特性与功用:
1. 高速读写性能:依托内存进行数据的读写操作,能够高效处理大量的读写请求。
2. 多样数据结构支持:支持字符串、哈希、列表、集合、有序集合等多种数据结构,能够灵活地表示各类数据。
3. 数据冗余与恢复:支持主从复制功能,可实现数据的冗余存储以及故障发生时的恢复。
4. 持久化能力:能够将内存中的数据持久化到磁盘上,保障数据的安全性。
5. 事务特性:支持事务操作,可一次性执行多个命令,确保操作的原子性。
6. 丰富应用场景:可应用于缓存场景(如缓存查询结果、热点数据等,降低数据库负载)、处理高并发读写请求(如访问统计、消息队列等)、实现排行榜与计数器功能、pub/sub消息订阅、QUE计划任务以及分布式锁等场景。

总体而言,Redis是一款性能卓越的内存数据库,凭借其丰富的数据结构以及持久化、事务等功能,广泛应用于各类大型系统中,是非关系型数据库的重要选择之一。

二、Redis的安装方式

1. Windows系统的安装步骤

Redis官方已停止对Windows版本的维护,不过我已将其上传至云盘,大家可直接下载:

链接:https://pan.baidu.com/s/1NdRren-9nO4E5h3PHdcTig?pwd=becn

安装操作步骤如下:
- 第一步:解压下载的文件。
- 第二步:双击运行redis-server.exe文件,启动Redis服务器,如图所示:
<p>Redis基础入门深度指南</p>
服务器启动成功后,界面如图:
<p>Redis基础入门深度指南</p>
- 第三步:双击运行redis-cli.exe文件,启动命令窗口,即可在Windows环境下操作Redis,界面如图:
<p>Redis基础入门深度指南</p>
<p>Redis基础入门深度指南</p>

2. Linux系统的安装指引

可查看我撰写的博客获取Linux系统安装部署Redis的完整详细步骤:Linux系统安装部署Redis完整教程(图文详解)

三、Redis通用指令

  1. Redis默认配置了16个数据库,若要切换到第2个数据库,可使用命令:
    select 1
  2. 查看当前数据库中键(key)的数量,执行命令:
    DBSIZE
  3. 设定一个键为username,值为mike的数据,命令为:
    set username mike
  4. 获取键为username对应的值,命令是:
    get username
  5. 获取所有的键,使用命令:
    keys *
  6. 清空当前数据库中的所有数据,命令为:
    flushdb
  7. 清空所有数据库中的数据,执行命令:
    flushall

四、Redis基础指令

  1. 检查键为username是否存在,命令为:
    exists username
  2. 将键为username移动到1号数据库,命令是:
    move username 1
  3. 设置键为username在10秒后过期,命令为:
    expire username 10
  4. 查看键为username的剩余过期时间,命令是:
    ttl username
  5. 查看键为username对应值的类型,命令为:
    type username

五、五种数据结构类型

5.1、String类型

  1. 设定键为name的值为htt,命令:
    set name htt
  2. 获取键为name对应的值,命令:
    get name
  3. 对键为name的值进行拼接,例如将值拼接为httstudy,命令:
    append name study
  4. 获取键为name对应值的长度,命令:
    strlen name
  5. 将键为view的值自增1,命令:
    incr view
  6. 将键为view的值自减1,命令:
    decr view
  7. 将键为view的值增加10,命令:
    incrby view 10
  8. 将键为view的值减少10,命令:
    decrby view 10
  9. 截取键为name对应值中下标0 - 3的字符串(例如原字符串为abcdef,截取后为abcd),命令:
    getrange name 0 3
  10. 从下标1开始替换键为name对应的值(例如原字符串为abcdef,替换后为a000efg),命令:
    setrange name 1 000
  11. 设定键为name的值为hello,并且10秒后过期,命令:
    setex name 10 hello
  12. 如果键为title不存在,则设置其值为redis;若存在,则设置操作失败,命令:
    setnx title redis
  13. 一次性设置多个键值对,例如:
    mset k1 v1 k2 v2 k3 v3
    mset user:1:name htt user:1:age 2
  14. 一次性获取多个键对应的值,例如:
    mget k1 k2 k3
    mget user:1:name user:1:age
  15. 如果k1已经存在,那么k1和k4的设置操作都会失败(体现事务的原子性),命令:
    msetnx k1 v1 k4 v4
  16. 如果键为username不存在,则返回nil并设置该值;若存在,则获取原值并设置新值,命令:
    getset username htt
    如图所示能更清晰理解:
    <p>Redis基础入门深度指南</p>

5.2、List集合类型

  1. 将一个或多个值插入到列表的头部,命令:
    lpush list 1
    如图所示:
    <p>Redis基础入门深度指南</p>
  2. 将一个或多个值插入到列表的尾部,命令:
    rpush list 4
    如图所示:
    <p>Redis基础入门深度指南</p>
  3. 通过区间获取列表中的具体值,命令:
    lrange list 0 -1
  4. 移除列表的第一个元素(例如值为3),命令:
    lpop list
  5. 移除列表的最后一个元素(例如值为4),命令:
    rpop list
  6. 通过下标获取列表中的某个值,命令:
    lindex list 0
  7. 获取列表的长度,命令:
    llen list
  8. 移除列表中指定个数的特定值(例如移除1个值为2的元素,精确匹配),命令:
    lrem list 1 2
  9. 截取列表中下标1到下标2之间的元素集合,并覆盖原列表,命令:
    ltrim list 1 2
  10. 更新列表中下标0的值为bbb(若下标0的值不存在则报错),命令:
    lset list 0 bbb
  11. 将某个具体值插入到指定具体元素(默认第一个)的前面或后面,例如:
    linsert list BEFORE kkk aaa
    如图所示:
    <p>Redis基础入门深度指南</p>
    linsert list AFTER kkk aaa
    如图所示:
    <p>Redis基础入门深度指南</p>

5.3、Set集合类型

  1. 向set集合中添加一个元素,命令:
    sadd set hello
  2. 查看set集合中的所有元素,命令:
    smembers set
  3. 检查set集合中是否存在某个元素,命令:
    sismember set world
  4. 随机抽取set集合中的1个元素,命令:
    srandmember set
  5. 随机抽取set集合中的2个元素,命令:
    srandmember set 2
  6. 随机删除set集合中的某个元素,命令:
    spop set
  7. 将set集合中的world元素移动到set2集合中,命令:
    smove set set2 world
  8. 计算set2集合相对于set集合的差集,命令:
    sdiff set2 set
    如图所示:
    <p>Redis基础入门深度指南</p>
  9. 求set集合和set2集合的交集,命令:
    sinter set set2
  10. 求set集合和set2集合的并集并去重,命令:
    sunion set set2
    如图所示:
    <p>Redis基础入门深度指南</p>

5.4、Hash集合类型

  1. 向hash集合中存储键值对数据,命令:
    hset hash username mike
  2. 从hash集合中获取数据,命令:
    hget hash username
  3. 同时向hash集合中添加多个值,命令:
    hmset hash username jack age 2
  4. 同时从hash集合中获取多个值,命令:
    hmget hash username age
  5. 获取hash集合中的所有键值对,命令:
    hgetall hash
  6. 删除hash集合中指定的key字段,命令:
    hdel hash username
  7. 获取hash集合的长度,命令:
    hlen hash
  8. 检查hash集合中指定字段是否存在,命令:
    hexists hash username
  9. 获取hash集合中的所有key,命令:
    hkeys hash
  10. 获取hash集合中的所有值,命令:
    hvals hash
  11. 为hash集合中的指定字段增加增量,命令:
    hincrby hash views 1
  12. 如果不存在则直接设置值,存在则设置失败,命令:
    hsetnx hash password 123456

5.5、Zset有序集合类型

  1. 添加一个值到zset有序集合中,命令:
    zadd zset 1 first
  2. 向zset有序集合中添加多个值,命令:
    zadd zset 2 second 3 third 4 four
  3. 获取zset有序集合中的所有元素,命令:
    zrange zset 0 -1
  4. 对zset有序集合中的元素按从小到大排序(-inf表示负无穷,+inf表示正无穷),命令:
    zrangebyscore zset -inf +inf
    如图所示:
    <p>Redis基础入门深度指南</p>
  5. 按从小到大排序并输出键值,命令:
    zrangebyscore zset -inf +inf withscores
    如图所示:
    <p>Redis基础入门深度指南</p>
  6. 指定范围为负无穷到1,命令:
    zrangebyscore zset -inf 1 withscores
    如图所示:
    <p>Redis基础入门深度指南</p>
  7. 移除zset有序集合中指定的元素,命令:
    zrem zset four
  8. 查看zset有序集合中的元素个数,命令:
    zcard zset
  9. 反转指定范围,命令:
    zrevrange zset 1 2
    如图所示:
    <p>Redis基础入门深度指南</p>

六、总结

以上便是Redis入门教程的详细笔记总结,后续会在博客主页持续更新有关Redis的相关内容。

文章整理自互联网,只做测试使用。发布者:Lomu,转转请注明出处:https://www.it1024doc.com/12752.html

(0)
LomuLomu
上一篇 7小时前
下一篇 5小时前

相关推荐

  • 🚀 2025最新PyCharm永久激活教程(附2099年有效激活码)| 破解全攻略 💻

    🔥 本教程适用于Jetbrains全家桶(IDEA、PyCharm、DataGrip、Goland等),亲测有效! 先给大家看看最新PyCharm版本破解成功的实锤截图👇 有效期直接拉到2099年,简直不要太爽! 下面就用最详细的图文步骤,手把手教你激活PyCharm到2099年✨ 💡 划重点:这个方法全版本通用!✅ Windows/Mac/Linux全平台…

    2025 年 6 月 16 日
    39300
  • Slurm HPC 集群安装 Slurm-web(python Flask开源项目)

    slurm-web,也称为 slurm-wlm-web,是为 Slurm 工作负载管理器提供的一个 Web 界面。Slurm 是一个用于管理大型和小型 Linux 集群的开源、容错且高度可扩展的集群管理和作业调度系统。slurm-web 的主要功能是提供一个方便用户监控和管理 Slurm 集群的途径,而无需直接使用命令行工具。 Slurm-web 在 Slu…

    2025 年 1 月 14 日
    44000
  • DataGrip破解教程:激活码适用所有版本

    DataGrip破解教程:激活码适用所有版本 这篇教程适用于所有JetBrains系列软件,包括DataGrip。接下来,我将向大家展示如何通过简单的图文步骤,成功激活DataGrip至2099年。通过这个方法,你不仅能轻松激活最新版本,也能适用于旧版本的激活。 首先,先看一下成功激活的截图,我们可以看到DataGrip已经成功激活,且有效期延续至2099年…

    2025 年 4 月 21 日
    17700
  • DataGrip 2024破解教程:激活码使用全指南

    DataGrip 2024破解教程:激活码使用全指南 这篇教程适用于所有JetBrains系列软件,包括DataGrip。接下来,我将向大家展示如何通过简单的图文步骤,成功激活DataGrip至2099年。通过这个方法,你不仅能轻松激活最新版本,也能适用于旧版本的激活。 首先,先看一下成功激活的截图,我们可以看到DataGrip已经成功激活,且有效期延续至2…

    DataGrip破解教程 2025 年 4 月 21 日
    21600
  • 常见的图形库对比 Echarts Highcharts AntV

    图形库 图形库 特点 图表类型 适用场景 依赖项 官网/文档 ECharts 功能丰富,支持大规模数据,交互性强 折线图、柱状图、饼图、地图、雷达图、散点图、热力图等 复杂数据可视化 无 https://echarts.apache.org/ Chart.js 简单易用,轻量级,支持响应式设计 折线图、柱状图、饼图、雷达图、散点图等 简单图表,快速开发 无 …

    未分类 2025 年 1 月 11 日
    31600

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信