202105-28 Redis持久化与主从复制的实践 为什么需要持久化Redis是基于内存的NoSQL数据库,读写速度自然快,但内存是瞬时的,在redis服务关闭或重启之后,redis存放在内存的数据就会丢失,为了解决这个问题,redis提供了两种持久化方式,以便在发生故障后恢复数据。持久化选项redis提供了两种不同的持久化方式来将数据存储到硬盘中。一种是快照方式(也叫RDB方式),它可以将莫一时刻存在于redis中的所有数据存储到硬盘;另一种叫只追加文件(AOF)方式,它会定时的复制red... 继续阅读 >
202010-24 Redis持久化RDB和AOF区别详解 RDB是Redis内存到硬盘的快照,用于redis持久化,创建RDB二进制文件,将存储在内存中的数据,持久化的放到硬盘中,当我们需要这些数据的时候,启动载入RDB文件,数据将会被存入内存中,其实RDB就是一种快照的方式持久化存储数据,也可以作为一种复制媒介,这个我们后面在谈。RDB触发机制--主要三种方式save同步命令(会阻塞redis)bgsave异步命令(fork)自动Save同步命令save文件策略:生成一个临时文件,如果存在老的文件,... 继续阅读 >
202009-24 Redis的持久化方案详解 Redis支持RDB与AOF两种持久化机制,持久化可以避免因进程异常退出或down机导致的数据丢失问题,在下次重启时能利用之前的持久化文件实现数据恢复。RDB持久化RDB持久化即通过创建快照(压缩的二进制文件)的方式进行持久化,保存某个时间点的全量数据。RDB持久化是Redis默认的持久化方式。RDB持久化的触发包括手动触发与自动触发两种方式。手动触发save,在命令行执行save命令,将以同步的方式创建rdb文件保存快照,会阻塞服务器... 继续阅读 >
202009-23 gearman + mysql方式实现持久化操作示例 本文实例讲述了gearman+mysql方式实现持久化操作。分享给大家供大家参考,具体如下:1、为什么要持久化?gearman的jobserver中的工作队列存储在内存中,一旦服务器有未处理的任务时重启或者宕机,那么这些任务就会丢失。持久化存储队列可以允许添加后台任务,并将其存储在外部的持久型队列里(比如MySQL数据库)。2、关于gearman的持久化的文章,建议可以看官方文档http://gearman.org/manual/job_server/#persistent_queues3... 继续阅读 >
201411-07 PHP数据库抽象层之PDO(二)——连接与连接管理 连接是通过创建PDO基类的实例而建立的。不管使用哪种驱动程序,都是用PDO类名。构造函数接收用于指定数据库源(所谓的DSN)以及可能还包括用户名和密码(如果有的话)的参数。Example#1连接到MySQL<?php$dbh=newPDO('mysql:host=localhost;dbname=test',$user,$pass);?>如果有任何连接错误,将抛出一个 PDOException 异常对象。如果想处理错误状态,可以捕获异常,或者选择留给通过 set_exception_handler(... 继续阅读 >
201411-07 PHP数据库扩展之MySQL增强版扩展MySQLi mysqli扩展允许我们访问MySQL4.1及以上版本提供的功能。 mysqli扩展和持久化连接mysqli扩展的持久化连接在PHP5.3中被引入。支持已经存在于PDOMYSQL和ext/mysql中。持久化连接背后的思想是客户端进程和数据库之间的连接可以通过一个客户端进程来保持重用,而不是多次的创建和销毁。这降低了每次需要创建一个新连接的开销,未使用的连接被缓存起来并且准备随时被重用。不像mysql扩展,mysqli没有提供一个特殊的方法用于打开... 继续阅读 >