我对Redis的困惑
如果我在我的服务器上安装 Redis,并且我的4 个不同客户端连接到同一台Redis 服务器,那么它们之间的数据将如何保持独立,以便一个客户端不会覆盖其他客户端已保存的键值对。
例如:-
client-1 设置名称=“adam”
client-2 设置名称=“henry”
因此,由于 Redis 服务器在这些客户端之间是通用的,客户端 1 设置的名称密钥将被客户端 2覆盖,因此当 客户端 1 执行 get name ==> henry 时(由于它已更新,这是错误的,他期望是亚当)
那么Redis是如何分离运行在同一台服务器上的多个用户实例的呢?它是否在内部创建单独的数据库或按用户存储还是什么?
Redis 本身不会分离您的数据。您必须自己将它们分开。有很多选择可以做到这一点。
使用Redis数据库:Redis支持多种数据库。每个应用程序(在您的情况下为客户端)都可以设置/分配以使用一个特定的数据库。此分配必须在应用程序端完成,而不是在 Redis 中完成。
这种方法的局限性是: i) Redis 最多支持 16 个数据库(用 0 到 15 表示)。ii) Redis集群模式仅支持一个数据库。
注意:SELECT命令用于选择特定的数据库。
命名空间:每个应用程序都可以(例如)分配一个唯一的前缀。他们会将分配的前缀作为所有键的前缀。
每个应用程序使用单独的 Redis 实例。
| 归档时间: |
|
| 查看次数: |
1789 次 |
| 最近记录: |