Redis - 支持多个数据库初识

Redis支持多个数据库,每个数据库数据隔离,基于单机运行。通过数字命名,可配置数量,默认16个。适合用作命名空间,区分不同环境数据,不建议跨应用共享。使用SELECT命令切换数据库。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Redis支持多个数据库,并且每个数据库的数据是隔离的不能共享,并且基于单机才有,如果是集群就没有数据库的概念。
Redis是一个字典结构的存储服务器,而实际上一个Redis实例提供了多个用来存储数据的字典,客户端可以指定将数据存储在哪个字典中。这与我们熟知的在一个关系数据库实例中可以创建多个数据库类似,所以可以将其中的每个字典都理解成一个独立的数据库。
每个数据库对外都是一个从0开始的递增数字命名,Redis默认支持16个数据库(可以通过配置文件支持更多,无上限),可以通过配置databases来修改这一数字。客户端与Redis建立连接后会自动选择0号数据库,不过可以随时使用SELECT命令更换数据库,如要选择1号数据库:
redis> SELECT 1
OK
redis [1] > GET foo
(nil)

2789632-61b4a10a9bec9007.png

然而这些以数字命名的数据库又与我们理解的数据库有所区别。首先Redis不支持自定义数据库的名字,每个数据库都以编号命名,开发者必须自己记录哪些数据库存储了哪些数据。另外Redis也不支持为每个数据库设置不同的访问密码,所以一个客户端要么可以访问全部数据库,要么连一个数据库也没有权限访问。

最重要的一点是多个数据库之间并不是完全隔离的,比如FLUSHALL命令可以清空一个Redis实例中所有数据库中的数据。

综上所述,这些数据库更像是一种命名空间,而不适宜存储不同应用程序的数据。比如可以使用0号数据库存储某个应用生产环境中的数据,使用1号数据库存储测试环境中的数据,但不适宜使用0号数据库存储A应用的数据而使用1号数据库B应用的数据,不同的应用应该使用不同的Redis实例存储数据。由于Redis非常轻量级,一个空Redis实例占用的内在只有1M左右,所以不用担心多个Redis实例会额外占用很多内存。

使用客户端连接查看就非常明显了:


2789632-9d45f3e650afe7ae.png
现在将16 个改成18个,重启服务:
2789632-537e068d32455fe3.png

这个时候,我们就能很明显的看到18个库啦:


2789632-b0a58a1ba600d552.png

至于你想让每个库用来做什么,就悉听尊便啦~

2789632-756c67e5acdabcd2.png

2789632-bedd135e1b4b1dca.png
Redis一个开源的内存数据结构存储系统,常用于数据库、缓存和消息中间件。它支持多种数据类型,包括字符串(String)、哈希(Hash)、列表(List)、集合(Set)以及有序集合(Sorted Set)等[^2]。与传统的关系型数据库不同Redis 将数据存储在内存中,因此具有极高的读写性能。 在实验环境中,例如“头歌 Redis 数据库 实验一 初识 Redis”,用户通常会接触到 Redis 的基本操作,包括如何连接到 Redis 服务器、设置键值对以及执行一些简单的查询命令。实验中提到的代码示例使用了 Python 的 `redis` 模块来创建客户端并连接到 Redis 服务端。具体步骤包括导入模块、创建连接池、实例化 Redis 客户端,并通过 `set()` 方法设置两个字符串键值对:`test1 -> hello` 和 `test2 -> Redis`[^1]。 Redis 的基础命令非常丰富,涵盖了从键管理到高级数据结构操作的各种功能。例如,可以使用 `GET` 获取键的值、`DEL` 删除键、`EXPIRE` 设置键的过期时间等。对于初学者来说,熟悉这些常用命令是掌握 Redis 使用的关键一步。 ### Redis 初次使用指南 初次使用 Redis 时,建议按照以下步骤进行: 1. **安装 Redis** 在 Linux 系统上可以通过包管理器安装 Redis,如 Ubuntu 可以使用如下命令: ```bash sudo apt update sudo apt install redis-server ``` 安装完成后,启动 Redis 服务: ```bash sudo systemctl start redis ``` 2. **连接 Redis** 可以使用 `redis-cli` 工具直接连接本地 Redis 实例: ```bash redis-cli ``` 进入交互模式后,输入 `ping` 命令测试连接是否正常,如果返回 `PONG` 表示连接成功。 3. **基本操作** - 设置键值对: ```bash SET key value ``` - 获取键值: ```bash GET key ``` - 查看所有键(谨慎使用于生产环境): ```bash KEYS * ``` - 删除键: ```bash DEL key ``` 4. **使用 Python 操作 Redis** 需要先安装 `redis-py` 包: ```bash pip install redis ``` 然后编写代码连接 Redis 并执行操作,参考代码如下: ```python import redis # 创建连接池 pool = redis.ConnectionPool(host='127.0.0.1', port=6379, decode_responses=True) # 创建客户端 r1 = redis.Redis(connection_pool=pool) # 设置键值 r1.set("test1", "hello") r1.set("test2", "Redis") # 获取值 print(r1.get("test1")) # 输出: hello print(r1.get("test2")) # 输出: Redis ``` 5. **理解 Redis 的持久化机制** Redis 提供了两种持久化方式:RDB(快照)和 AOF(追加日志)。RDB 是通过生成快照文件来保存当前数据状态,而 AOF 则记录每次写操作的日志以便在重启时恢复数据。 6. **学习更多命令** 掌握 Redis 的常用命令有助于更高效地管理和使用数据库。可以通过官方文档或在线教程深入了解每个命令的功能及用法。 通过以上步骤,用户可以在本地快速搭建起 Redis 开发环境,并开始尝试其核心功能。随着对 Redis 特性的逐步了解,还可以探索其在实际项目中的应用场景,比如作为缓存层加速访问速度、实现计数器、处理高并发场景下的令牌管理等[^3]。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值