服务器之家:专注于服务器技术及软件下载分享
分类导航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|数据库技术|

服务器之家 - 数据库 - Redis - redis如何设置database个数

redis如何设置database个数

2021-09-29 16:19你就像甜甜的益达 Redis

这篇文章主要介绍了redis如何设置database个数的操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

redis设置database个数

今天连公司数据库,发现db达到255个,不知道为什么,其实是256个从0开始的

redis如何设置database个数

而我自己的只有16个

redis如何设置database个数

我是windows的,linux是一样的,目录结构如图:

redis如何设置database个数

编辑redis.conf配置文件,搜索database,可以找到:

databases 16

如图:

redis如何设置database个数

通过看简单描述,我们大概知道: 最后一句话,意思是,初始的db是0,(默认的是16),你能自己选择一个数字来作为数据库的大小,但是不能为0,大概就是这样…我们可以通过修改16,来达到你想要的=-=…

注意:启动需要指定的配置文件。可以通过命令行启动,在当前文件夹下启动命令行 redis-server.exe ./redis.conf;

我写了个bat文件: start redis-server.exe redis.conf还是在当前文件就好了…

redis 多数据库 database配置项解析

读到redis配置文件的时候,碰到databases 16我不明白了,然后开启百度和google的搜索介绍之门,下面把我读取文章吸取到的解释介绍如下。

官方的解释:可用数据库数,默认值为16,默认数据库为0。

刚开始咋一看没有明白,可用数据库的个数,redis一个实例不就是一个数据库吗。怎么还可以配置多个数据库。这是因为redis下,数据库是由一个整数索引标识,而不是由一个数据库名称,可以直白的理解为配置不同的的库,占用的是不同的内存空间,不同的库之间相互不影响,独立工作,只不过都是借宿在这个redis实例上面生存的空间。

redis的配置文件中默认的数据库总数为16个,默认它是一个下标基于0到15的数组:

databases 16

redis如何设置database个数

应用场景

为什么redis会有这么一个设计场景呢,我想这是一个类似多租户的概念。就像虚拟化和容器一样,你可以虚拟出多台机器和多个容器来,充分利用物理机器的硬件配置来work,达到服务器性能最大的利用率,各个虚拟机和容器之间单独运行,互补影响和干扰,我想redis的多数据库也是同样的道理。

场景:

redis如何设置database个数

你或许希望一个redis应用(一个redis server,或者一个redis server/slaves群组)能为多个客户端应用服务,如果这些客户端应用都各自为营,向redis写数据的话,很可能会导致key冲突(我们知道redis是一个key-value结构的存储结构)。为了将不同的应用分开,你可以用不同的前缀去区分(eg: app_i:xx:yy, app_ii:xx:yy)。这时候你就不用这么麻烦,就可以直接利用redis分割这些key的机制:database的概念。

每个数据库都有属于自己的空间,不必担心之间的key冲突。

redis如何设置database个数

不同的数据库下,相同的key取到各自的值。

redis如何设置database个数

flushdb命令清除数据,只会清除当前的数据库下的数据,不会影响到其他数据库。flushall命令会清除这个实例的数据,在执行这个命令之前要考虑清楚,我这里只是实验环境,无所谓了。

数据库的数量是可以配置的,默认情况下是16个。修改redis.conf下的databases指令:

databases 64

redis没有提供任何方法来关联标识不同的数据库。因此,需要你来跟踪什么数据存储到哪个数据库下或者什么业务的数据存在哪个库里面,这个我觉得可以用zookeeper来解决。

总结

redis databases,从“客户端应用都各自为营”和业务分离的角度来看,database的概念是很适用的,它让我们有清晰的数据划分,可以放心的把注意力放在key的设计上。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持服务器之家。

原文链接:https://yidajava.blog.csdn.net/article/details/83862394

延伸 · 阅读

精彩推荐
  • Redisredis中如何使用lua脚本让你的灵活性提高5个逼格详解

    redis中如何使用lua脚本让你的灵活性提高5个逼格详解

    这篇文章主要给大家介绍了关于redis中如何使用lua脚本让你的灵活性提高5个逼格的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具...

    一线码农5812019-11-18
  • RedisRedis全量复制与部分复制示例详解

    Redis全量复制与部分复制示例详解

    这篇文章主要给大家介绍了关于Redis全量复制与部分复制的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Redis爬虫具有一定的参考学习...

    豆子先生5052019-11-27
  • RedisRedis 事务知识点相关总结

    Redis 事务知识点相关总结

    这篇文章主要介绍了Redis 事务相关总结,帮助大家更好的理解和学习使用Redis,感兴趣的朋友可以了解下...

    AsiaYe8232021-07-28
  • Redisredis实现排行榜功能

    redis实现排行榜功能

    排行榜在很多地方都能使用到,redis的zset可以很方便地用来实现排行榜功能,本文就来简单的介绍一下如何使用,具有一定的参考价值,感兴趣的小伙伴们...

    乘月归5022021-08-05
  • Redisredis 交集、并集、差集的具体使用

    redis 交集、并集、差集的具体使用

    这篇文章主要介绍了redis 交集、并集、差集的具体使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友...

    xiaojin21cen10152021-07-27
  • RedisRedis的配置、启动、操作和关闭方法

    Redis的配置、启动、操作和关闭方法

    今天小编就为大家分享一篇Redis的配置、启动、操作和关闭方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧 ...

    大道化简5312019-11-14
  • RedisRedis如何实现数据库读写分离详解

    Redis如何实现数据库读写分离详解

    Redis的主从架构,能帮助我们实现读多,写少的情况,下面这篇文章主要给大家介绍了关于Redis如何实现数据库读写分离的相关资料,文中通过示例代码介绍...

    罗兵漂流记6092019-11-11
  • Redis详解Redis复制原理

    详解Redis复制原理

    与大多数db一样,Redis也提供了复制机制,以满足故障恢复和负载均衡等需求。复制也是Redis高可用的基础,哨兵和集群都是建立在复制基础上实现高可用的...

    李留广10222021-08-09