Redis 学习之路 (011) - redis 多数据库
一台服务器上都快开启200个redis实例了,看着就崩溃了。这么做无非就是想让不同类型的数据属于不同的应用程序而彼此分开。
那么,redis有没有什么方法使不同的应用程序数据彼此分开同时又存储在相同的实例上呢?就相当于mysql数据库,不同的应用程序数据存储在不同的数据库下。
redis下,数据库是由一个整数索引标识,而不是由一个数据库名称。默认情况下,一个客户端连接到数据库0。redis配置文件中下面的参数来控制数据库总数:
databases
可以通过下面的命令来切换到不同的数据库下:
redis> select
OK
随后,所有的命令将使用数据库3,知道你明确的切换到另一个数据库下。每个数据库都有属于自己的空间,不必担心之间的key冲突。
➜ ~ redis-cli -p
127.0.0.1:> set test
OK
127.0.0.1:> keys *
) "test"
127.0.0.1:> get test
""
127.0.0.1:> select //切换到数据库2
OK
127.0.0.1:[]> get test
(nil) //找不到这个值
127.0.0.1:[]> select //切换到数据库2
OK
127.0.0.1:> get test
""
不同的数据库下,相同的key取到各自的值。
➜ ~ redis-cli -p //登录数据库
127.0.0.1:> select //切换到默认数据库(0)
OK
127.0.0.1:> set test //在数据库 0 设置test的值为"1234"
OK
127.0.0.1:> select //切换到默认数据库(1)
OK
127.0.0.1:[]> set test //在数据库 1 设置test的值为"1234"
OK
127.0.0.1:[]> select //切换到默认数据库(0)
OK
127.0.0.1:> get test //查看数据库 0 的test数据
""
127.0.0.1:> select
OK
127.0.0.1:[]> get test //查看数据库 1 的test数据
""
flushdb命令清除数据,只会清除当前的数据库下的数据,不会影响到其他数据库。
➜ ~ redis-cli -p
127.0.0.1:> select //切换到数据库 1
OK
127.0.0.1:[]> keys * //显示当前数据库所有字段
) "test"
127.0.0.1:[]> flushdb //清空当前数据库的字段
OK
127.0.0.1:[]> keys * //显示当前数据库所有字段
(empty list or set) //当前数据库无任何字段
127.0.0.1:[]> select //切换到数据库 0
OK
127.0.0.1:> keys * //显示当前数据库所有字段,当前数据库 0 没有被清除,说明flushdb命令清除数据,只会清除当前的数据库下的数据,不会影响到其他数据库。
) "test"
flushall命令会清除这个实例的数据。在执行这个命令前要格外小心。
数据库的数量是可以配置的,默认情况下是16个。修改redis.conf(/etc/redis/redis.conf)下的databases指令:

然后重启redis并指向redis.conf,使redis生效:
sudo redis-server /etc/redis/redis.conf
redis没有提供任何方法来关联标识不同的数据库。因此,需要你来跟踪什么数据存储到哪个数据库下。
因此上面的快开启200个实例的场景,可以使用不同的数据库来存储,而不必开启如此那么多的实例。
Redis 学习之路 (011) - redis 多数据库的更多相关文章
- Redis 学习之路 (010) - redis命令手册
Redis 键(key) 命令 命令 描述 Redis DEL 命令 该命令用于在 key 存在是删除 key. Redis Dump 命令 序列化给定 key ,并返回被序列化的值. Redis E ...
- Redis——学习之路四(初识主从配置)
首先我们配置一台master服务器,两台slave服务器.master服务器配置就是默认配置 端口为6379,添加就一个密码CeshiPassword,然后启动master服务器. 两台slave服务 ...
- Redis——学习之路三(初识redis config配置)
我们先看看config 默认情况下系统是怎么配置的.在命令行中输入 config get *(如图) 默认情况下有61配置信息,每一个命令占两行,第一行为配置名称信息,第二行为配置的具体信息. ...
- Redis——学习之路二(初识redis服务器命令)
上一章我们已经知道了如果启动redis服务器,现在我们来学习一下,以及如何用客户端连接服务器.接下来我们来学习一下查看操作服务器的命令. 服务器命令: 1.info——当前redis服务器信息 s ...
- Redis学习之路(000)- 目录
本文是博主学习整理网上大神的文件以及自学的心得. Redis学习之路(000)- 目录 Redis学习之路(001)- Redis介绍以及安装(Linux) Redis学习之路(002)- Ubunt ...
- redis学习教程一《Redis的安装和配置》
redis学习教程一<Redis的安装和配置> Redis的优点 以下是Redis的一些优点. 异常快 - Redis非常快,每秒可执行大约110000次的设置(SET)操作,每秒大约可执 ...
- C# Redis学习系列三:Redis配置主从
Redis配置主从 主IP :端口 192.168.0.103 6666 从IP:端口 192.168.0.108 3333 配置从库 (1)安装服务: redis-server ...
- redis 学习(1)-- redis 安装与启动
redis 学习(1)-- redis 安装与启动 redis 特性 关于 redis 的介绍网上已经有很多信息了,这里我就不在详细说明了.介绍一下几个鲜明特性: 1.速度快 官方称可以达到10W的q ...
- C# Redis学习系列二:Redis基本设置
上一篇:C# Redis学习系列一:Redis的认识.下载.安装.使用 一.redis 设置密码 使用下载好的 redis-cli.exe 指令: 1.设置密码: config set require ...
随机推荐
- 基于Docker的服务器搭建
-----------基于Docker的多种服务器搭建----------- 开发环境 本机上的虚拟机 Centos7.4 Docker1.13.1 Openssl1.1.1 1 Nginx 1.1 ...
- Zookeeper常用命令行及API
一.Zookeeper常用命令行 1.启动zookeeper客户端(在启动zookeeper集群后启动进行调试) zkCli.sh 2.查看帮助.操作历史 help.history 3.查看当前Zno ...
- 【基础】链表的储存结构说明(python)
[实现链表的添加] class aNode(): def __init__(self,data=None,nxt=None): self.data=data self.nxt=nxt class ru ...
- HDU 5409 CRB and Graph 【点双连通+DFS】
<题目链接> 题目大意: 给你一个连通的无向图,问你删除每一条边后,是否能够出现一对(u,v),使得u,v不连通,且u<v,如果有多对u,v,则输出尽量大的u,和尽量小的v. 解题分 ...
- RFC2616-HTTP1.1-Header Field Definitions(头字段规定部分—译文)
part of Hypertext Transfer Protocol -- HTTP/1.1 RFC 2616 Fielding, et al. 14 头字段规定 该章节定义了HTTP1.1标准所包 ...
- SpringMVC(十七-二十) ModelAttribute 注解
有点难理解. 修饰方法是表示在该控制器的所有目标方法执行前都执行该modelattribute注解的方法. 修饰参数是表示什么?修饰参数时@modelattributes(value="xx ...
- UVA 814 The Letter Carrier's Rounds
大致翻译: 对于电子邮件应用程序,您需要描述发生在成对mta之间的基于smtp的通信.发送方 的用户代理向发送消息传输代理(MTA)提供格式化的消息.发送MTA使用SimpleMail 传输协议(SM ...
- RMQ问题 [luogu 3865]
原题地址 ST表模板题,尝试用单点修改线段树. 原本以为线段树会被卡掉,但是还是险过了.实践证明,快速读入很有用. #include<bits/stdc++.h> using namesp ...
- java 日期递增
public static void main(String[] args) throws ParseException { // 方法一 // Format f = new SimpleDateFo ...
- Wannafly Winter Camp 2019.Day 8 div1 I.岸边露伴的人生经验(FWT)
题目链接 \(Description\) 给定\(n\)个十维向量\(\overrightarrow{V_i}=x_1,x_2,...,x_{10}\).定义\(\overrightarrow{V}= ...