redis列出所有数据库命令 redis增量同步原理?

[更新]
·
·
分类:互联网
3102 阅读

redis列出所有数据库命令

redis增量同步原理?

redis增量同步原理?

主从同步原理
当一个从数据库启动时,它会向主数据库发送一个SYNC命令
master收到后,在后台保存快照,也就是我们说的RDB持久化,当然保存快照是需要消耗时间的,并且redis是单线程的(redis后面也支持了多线程,这里我们先不讲),在保存快照期间redis收到的命令会缓存起来,快照完成后会将缓存的命令以及快照一起打包发给slave节点,从而保证主从数据库的一致性。
从数据库接收到快照以及缓存的命令后会将这部分数据写入到硬盘上的临时文件当中,写入完成后会用这份文件去替换掉RDB快照文件,当然,这个操作是不会阻塞的,可以继续接受命令执行,具体原因其实就是fork了一个子进程,用子进程去完成了这些功能。
因为不会阻塞,所以,这部分初始化完成后,当主数据库执行了改变数据的命令后,会异步的给slave,这也就是我们说的复制同步阶段,这个阶段会贯穿在整个主从同步的过程中,直到主从同步结束后,复制同步才会终止。

Redis可以作为一个数据库使用吗?

redis 是一种 nosql 数据库,看名字,你就知道,他可以作为数据库使用。
redis的特点是,纯内存操作,所以效率很高。
可以单机也可以集群,扩展行较好。
但是唯一的限制就是物理内存的限制。
并且内存的价值非常高,所以一般来说,项目中使用redis只是讲他作为一个缓存来使用,可以提供程序的吞吐量。
纯做数据库使用的比较少

常见数据库有哪些呢?

目前关系型数据库主要有MySQL、SQL Server、数蚕数据库、Oracle数据库。
MySQL:免费产品,中小企业使用广泛。
SQL Server:微软的商业化产品,微软SQL语句兼容性好,商业化成熟度高。
数蚕数据库:数蚕科技针对中小型企业的数据库,c 接口特性良好,SQL特性较弱。
Oracle 数据库:商业化程度最高的关系数据库, 优良的性能和企业扩展能力。
非关系型数据库主要有FastDB、Memcached和Redis等主流内存数据库。一般应用于缓存等非关键数据存储,其优点是数据查询速度快,对下层编程接口良好。

redis如何防止并发?

首先感谢题主邀请。至于redis并发问题的解决,要看业务的场景如何。
首先要了解一下redis基本的情况,redis是单线程的epoll模式IO多路复用型,在官方上说能达到上万的并发处理。
但在真实环境使用的情况下,redis主从模式下,在并发达到600-800之间业务都会受到影响,因为根据业务情况redis处理总会有一些比较慢的行为(这需要提供给开发处理)。而防止高并发,就要把在redis在线打印执行命令输入monitor,然后看看在高并发时执行什么最多让开发合并处理优化,从而降低并发处理。
当然,如果上述分析后觉得都是正常的,那就是业务增长导致其他有变动,所以单redis主从已经没办法满足现业务,则需要改用redis集群模式。
而redis集群个人比较喜欢使用codis,而这个也是开源的而且还在继续维护中。
希望以上可以对您有所帮助!