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

Redis 初学者指南

Redis 初学者指南

    • 1. 什么是 Redis?
    • 2. Redis 的基本概念
    • 3. 安装 Redis
      • 3.1 使用 Docker 安装
      • 3.2 从源码编译安装
    • 4. 基本操作
      • 4.1 启动 Redis 服务
      • 4.2 连接 Redis 客户端
      • 4.3 常用命令
    • 5. Redis 的数据结构
      • 5.1 字符串
      • 5.2 列表
      • 5.3 集合
      • 5.4 散列
      • 5.5 有序集合
    • 6. 高级特性
      • 6.1 持久化
      • 6.2 事务
      • 6.3 发布/订阅
      • 6.4 Lua 脚本
    • 7. 进阶学习
    • 8. 结论

Redis 是一个开源的内存数据结构存储系统,常用于缓存、会话管理、实时分析等场景。本文将带你从入门到精通 Redis,包括其基本概念、数据结构、安装配置、常用操作以及高级特性。

网站:https://redis.io/

1. 什么是 Redis?

Redis 是一个基于内存的 NoSQL 数据库,以键值对的形式存储数据。它支持多种数据结构,如字符串、散列、列表、集合、有序集合等。

2. Redis 的基本概念

  • 键值对存储:Redis 中的数据都是以键值对的形式存储的。
  • 持久化:Redis 支持数据持久化,以防止数据丢失。
  • 事务:支持简单的事务操作。
  • 发布/订阅:支持消息订阅和发布功能。
  • Lua 脚本:支持在服务器端运行 Lua 脚本。
  • 高可用性:通过哨兵和集群模式提供高可用性。

3. 安装 Redis

3.1 使用 Docker 安装

docker run --name myredis -p 6379:6379 -d redis

3.2 从源码编译安装

  1. 下载 Redis 源码:

    wget http://download.redis.io/releases/redis-6.2.6.tar.gz
    tar xzf redis-6.2.6.tar.gz
    cd redis-6.2.6
    
  2. 编译并安装:

    make
    sudo make install
    

4. 基本操作

4.1 启动 Redis 服务

redis-server

4.2 连接 Redis 客户端

redis-cli

4.3 常用命令

  • 设置键值对

    SET key "value"
    
  • 获取键值

    GET key
    
  • 删除键

    DEL key
    
  • 检查键是否存在

    EXISTS key
    

5. Redis 的数据结构

5.1 字符串

最基本的数据类型,可以存储任何类型的数据。

SET mykey "Hello"
GET mykey

5.2 列表

用于存储有序的字符串列表。

LPUSH mylist "world"
LPUSH mylist "hello"
LRANGE mylist 0 -1

5.3 集合

无序的字符串集合。

SADD myset "Hello"
SADD myset "World"
SMEMBERS myset

5.4 散列

用于存储键值对集合。

HSET myhash field1 "value1"
HGET myhash field1

5.5 有序集合

带有分数的集合,自动排序。

ZADD myzset 1 "one"
ZADD myzset 2 "two"
ZRANGE myzset 0 -1

6. 高级特性

6.1 持久化

  • RDB 快照:定期将数据快照保存到磁盘。
  • AOF 日志:记录每次写操作,以日志形式保存。

6.2 事务

通过 MULTIEXEC 命令实现简单的事务。

MULTI
SET key1 "value1"
SET key2 "value2"
EXEC

6.3 发布/订阅

用于实现消息通信。

SUBSCRIBE channel
PUBLISH channel "message"

6.4 Lua 脚本

在 Redis 服务器上运行 Lua 脚本。

EVAL "return redis.call('SET', KEYS[1], ARGV[1])" 1 key value

7. 进阶学习

  • 深入理解 Redis 内部机制:阅读 Redis 的源码和官方文档。
  • 实践项目:尝试构建一个简单的缓存系统或消息队列。
  • 社区资源:参与 Redis 社区,关注 Redis 的最新动态和最佳实践。

8. 结论

Redis 是一个功能强大且灵活的数据存储解决方案,适合多种应用场景。通过这篇文章,你应该对 Redis 的基本功能和高级特性有了初步的了解。继续深入学习和实践,将帮助你更好地掌握 Redis。


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

相关文章:

  • CM API方式设置YARN队列资源
  • opencv python笔记
  • git入门教程12:git命令与技巧
  • 接口测试(十一)jmeter——断言
  • liunx CentOs7安装MQTT服务器(mosquitto)
  • git reset 删除错误提交
  • 论文阅读-用于图像识别的深度残差学习
  • 应用targetsdk版本低于30,不符合华为应用市场审核标准
  • 【学习】软件测试中V模型、W模型、螺旋模型三者介绍
  • Docker Compose部署XXL-JOB
  • STM32实现串口接收不定长数据
  • 【专题】基于服务的体系结构
  • JS实现漂亮的登录页面(氛围感页面)
  • 【linux 多进程并发】0203 网络资源的多进程处理,子进程完全继承网络套接字,避免“惊群”问题
  • TypeScript实用笔记(三):泛型<T>的使用 <T>的12种工具类型的使用
  • python代码主要实现了对供水网络的水质模拟,并对模拟结果进行一系列处理
  • ‌5G SSB(同步信号块)位于物理层‌
  • Python淘宝数据挖掘与词云图制作指南
  • Python 继承、多态、封装、抽象
  • 华为HarmonyOS打造开放、合规的广告生态 - 原生广告
  • JVM出现OOM错误排查
  • 类被加载到jvm后再被注册到Spring中
  • Java 教程简介
  • JqGird 动态生成列使用
  • django各个文件简单介绍
  • RabbitMQ交换机类型