ItGo.me - 专注IT技术分享

首页 > Redis > 数据持久化方案:redisDB

数据持久化方案:redisDB

时间:2016-08-28来源:网友分享 点击:

基于redis和mysql的数据持久化方案

redis运行时连接数据库 cache失效时同步读mysql, 数据修改时候通过消息队列通知DB线程写mysql reids.conf增加几个配置选项 mysql_host
mysql_port
mysql_user
mysql_pwd
mysql_dbname
persistence_mmap_file: 消息列队指定的mmap映射文件
write_thread_num 写DB线程数

对key的命名有规范 "tablename_ID(int)"形式, 如果仅仅是 "tablename" 则系统解析的时候ID默认为0 例如 “user_1” 系统会自动对应"user"表的ID为1的行 “user_0” 或者 "user" 系统会自动对应"user"表的ID为0的行

目前支持 string, list, zset, 以及incr 格式, mysql表结构不需要自己定义,系统自动映射 消息队列采用无锁队列, 支持mmap与malloc两种方式, 采用mmap方式理论上在程序意外死掉的时候不丢失队列数据 经过压力测试, 修改前和修改后的redis性能损耗为10% - 20%, 后期会考虑再进行优化 另外因为是同步读DB, 如果大量的cache失效会带来严重的io阻塞, 从而影响性能, 后期考虑加入配置选项在redis启动以后主动从db恢复数据

基于redis 2.6.16修改

项目主页:

数据持久化方案:redisDB

数据持久化方案:redisDB  讨论


Memcached, Redis, MongoDB三者比较

Memcached, Redis, MongoDB关于这三者,很多朋友还经常把他们搞混淆,其实这三者还是有区别的: mongodb和memcached不是一个范畴内的东西。mongodb是文档型的非关系型数据库,其优势在于查询功能比较...

Redis支持的任务队列延迟作业处理:punctual

基于Redis的任务队列,轮询和处理机制。用于延迟作业处理。设计为轻量级和高度可定制的,这个包提供了一个任务队列和轮询机制,以及从中继承基本任务相关的对象。 它通过Redis代替专门的...

Redis在CentOS6.4中的安装

首先,介绍一下Redis数据库。Redis是一种面向键/值对数据类型的内存数据库,可以满足我们对海量数据的读写需求。 1)redis的键只能是字符串; 2)redis的值支持多种数据类型: a:字符串 str...

基于redis和mysql的数据持久化方案 redis运行时连接数据库 cache失效时同步读mysql, 数据修改时候通过消息队列通知DB线程写mysql reids.conf增加几个配置选项 mysql_host mysql_port mysql_user mysql_pwd mysql_dbn
------分隔线----------------------------