首页 > 数据库 >Redis是什么,怎么安装使用

Redis是什么,怎么安装使用

时间:2024-12-26 23:02:55浏览次数:5  
标签:cli Redis sudo redis #### 使用 安装 bash

### Redis 是什么?

Redis(**RE**mote **DI**ctionary **S**erver)是一个开源的、基于内存的高性能键值数据库(key-value store)。它不仅支持简单的键值对,还支持多种复杂的数据结构,包括字符串(String)、哈希(Hash)、列表(List)、集合(Set)、有序集合(Sorted Set)等。Redis 常被用作缓存、中间件、实时数据分析以及消息队列等场景。

Redis 的主要特点包括:
1. **基于内存**:数据存储在内存中,读写速度极快。
2. **丰富的数据结构**:支持多种数据结构,适合多样化的场景需求。
3. **高可用性**:支持主从复制(Replication)、持久化(RDB、AOF)以及集群(Cluster)模式。
4. **多语言支持**:提供多种编程语言的客户端接口(如 Python、Java、Node.js 等)。
5. **轻量高效**:响应时间通常在毫秒级。

---

### Redis 的安装

#### 1. 在 Linux 上安装 Redis
(以 Ubuntu 为例)

**步骤:**
1. 更新系统包:
   ```bash
   sudo apt update
   sudo apt upgrade -y
   ```

2. 安装 Redis:
   ```bash
   sudo apt install redis -y
   ```

3. 启动并检查 Redis 服务:
   ```bash
   sudo systemctl start redis
   sudo systemctl enable redis
   sudo systemctl status redis
   ```

4. 验证安装:
   在终端输入 `redis-cli`,然后运行 `ping`,应返回 `PONG`:
   ```bash
   redis-cli
   127.0.0.1:6379> ping
   PONG
   ```

---

#### 2. 在 Windows 上安装 Redis

Redis 官方不提供 Windows 版,但可以使用第三方构建的版本:
1. 下载 [Memurai](https://www.memurai.com/) 或 [Redis for Windows](https://github.com/microsoftarchive/redis)。
2. 解压缩后运行可执行文件(如 `redis-server.exe`)。
3. 打开命令提示符,输入:
   ```bash
   redis-cli
   ping
   ```
   若返回 `PONG` 表示 Redis 正常运行。

---

#### 3. 在 Docker 中运行 Redis

如果系统安装了 Docker,可以直接拉取并运行 Redis 镜像:
1. 拉取镜像:
   ```bash
   docker pull redis
   ```

2. 运行 Redis 容器:
   ```bash
   docker run -d --name redis-container -p 6379:6379 redis
   ```

3. 验证运行:
   使用 `redis-cli` 连接:
   ```bash
   docker exec -it redis-container redis-cli
   ```

---

### Redis 的基本使用

#### 1. 常见命令
以下是 Redis 常用的命令:
- 设置键值:
  ```bash
  SET key value
  ```
- 获取键值:
  ```bash
  GET key
  ```
- 删除键:
  ```bash
  DEL key
  ```
- 查看所有键:
  ```bash
  KEYS *
  ```
- 检查键是否存在:
  ```bash
  EXISTS key
  ```

#### 2. 数据结构操作
- **字符串(String):**
  ```bash
  SET mykey "Hello Redis"
  GET mykey
  ```
- **哈希(Hash):**
  ```bash
  HSET user name "Alice"
  HGET user name
  ```
- **列表(List):**
  ```bash
  LPUSH mylist "A"
  LPUSH mylist "B"
  LRANGE mylist 0 -1
  ```
- **集合(Set):**
  ```bash
  SADD myset "A"
  SADD myset "B"
  SMEMBERS myset
  ```
- **有序集合(Sorted Set):**
  ```bash
  ZADD myzset 1 "A"
  ZADD myzset 2 "B"
  ZRANGE myzset 0 -1 WITHSCORES
  ```

#### 3. 持久化
Redis 默认是内存存储,但支持持久化:
- RDB(定时快照):`SAVE` 或 `BGSAVE` 命令。
- AOF(Append-Only File):记录写操作,实时持久化。

可以通过配置文件调整:
```bash
vim /etc/redis/redis.conf
# 开启AOF
appendonly yes
```

---

### 使用场景

1. **缓存**:加速访问数据,减少数据库压力。
2. **计数器**:如页面访问计数、点赞等。
3. **队列**:通过 List 实现任务队列。
4. **会话存储**:用来存储用户会话数据。
5. **排行榜**:利用有序集合实现动态排行。

标签:cli,Redis,sudo,redis,####,使用,安装,bash
From: https://blog.csdn.net/Zero_pl/article/details/144754701

相关文章

  • Suno AI使用订阅升级会员全攻略:从入门到精通,玩转多风格提示词!
    在人工智能的浪潮中,SunoAI以其强大的音乐生成能力,成为音乐爱好者和创作者的得力助手。无论你是新手小白,还是资深音乐人,都能在Suno的世界中找到属于自己的创作乐趣。一、Suno简介Suno是一款基于AI的音乐生成工具,支持多种音乐风格和语言的创作。通过输入提示词(Prompt),你可以快......
  • 多数据源配置:使用Dynamic-datasource框架实现数据源切换、动态新增且使用新数据源、查
    前言多数据源的切换具有十分广泛的应用场景,同时可以简化主从复制、读写分离等方案的实现过程,通过继承AbstractRoutingDataSource并重写相关方法,结合拦截器、AOP以及自定义注解即可实现,但过程比较繁琐。因此可以利用Dynamic-datasource框架轻松实现数据源切换,并且通过框架预留......
  • 使用容器运行Nginx应用及Docker命令
    使用容器运行Nginx应用及Docker命令一、使用容器运行Nginx应用1.1使用dockerrun命令运行Nginx应用1.1.1观察下载容器镜像过程查找本地容器镜像文件执行命令过程一:下载容器镜像#dockerrun-dnginx:latestUnabletofindimage'nginx:latest'locallylatest:......
  • Java编程规范-DO / BO / DTO / VO / AO的使用
    Java开发DO/BO/DTO/VO/AO的作用Java开发中,DO(DataObject)、BO(BusinessObject)、DTO(DataTransferObject)、VO(ViewObject)和AO(ApplicationObject)是常用的对象类型,每种类型都在特定的层次和场景中发挥不同的作用。以下是它们的定义和使用场景:1.DO(DataObject,数据......
  • k8s安装网络插件weave
    参考部署:https://blog.csdn.net/shuaihj/article/details/122963090下载镜像1:https://newreleases.io/project/github/weaveworks/weave/release/v2.8.1下载镜像2:https://loongson-cloud-community.github.io/Loongson-Cloud-Community/%E7%A7%BB%E6%A4%8D%E6%89%8B%E5%86%8C/weav......
  • 使用Gitea自建git服务
    在软件开发领域,版本控制系统扮演着至关重要的角色。Git作为其中最受欢迎的版本控制系统之一,尽管如此,公共Git托管服务比如GitHub或GitLab,并不总是适用于每个项目,尤其是那些对保密性有特别要求的项目。在这种情况下,构建一个私有的Git服务便显得尤为重要。本文旨在介绍如何借助Gite......
  • 【Unity 像素风格植物图标资源包】Vegetation Icons 32×32 Pixel Art 包含大量32x32
    VegetationIcons32×32PixelArt是一款专为Unity开发者设计的像素风格植物图标资源包。该插件包含大量32x32像素大小的植物图标,适用于2D游戏中需要使用植物、树木、花卉等自然元素的场景。无论是为游戏中的UI、物品栏、任务列表还是资源管理系统提供图标,还是作为游戏内环......
  • Minio使用教程
    MinioMinIO是一个高性能的对象存储服务器,用于构建云存储解决方案。它使用Golang编写,专为私有云、公有云和混合云环境设计。它是兼容AmazonS3API的,并可以作为一个独立的存储后端或与其他流行的开源解决方案(如Kubernetes)集成。MinIO允许你存储非结构化数据(如图片、视频、日志......
  • Dash to Dock 安装配置(图文教程)
    原文:https://www.cnblogs.com/keatonlao/p/12705335.html DashtoDock 是一个用于GnomeShell的dock。这个扩展将dash移出了活动视图,将其转换为一个dock,以便更容易地启动应用程序,更快地在windows和桌面之间切换。侧面和底部放置选项是可用的。使用GNOME3桌面......
  • Qt使用spdlog乱码问题
    Qt使用spdlog输出日志Qt提供了qInstallMessageHandler函数,允许安装一个自定义的消息处理函数,以拦截和处理Qt的日志消息。可以利用这一功能,将日志写入文件。可以在main文件中定义如下函数:#include<spdlog/spdlog.h>#include<spdlog/sinks/rotating_file_sink.h>//<全......