您的位置:首页 > 数据库 > Redis

数据库随笔2-Redis概述

2016-10-11 14:09 155 查看
存储这块,各有专长:

关系代数的RDB,发展了很多年,很多成熟的产品和技术;K-V的redis,现在到了3.x,支持lua脚本、订阅、集群等;图形的neo4j,还有支持分布式的titan;文档数据库mongodb,换装wt引擎后更强劲;

还有hbase、cassandra等列式数据库,在大数据方向蛮火;最后,别忘了文件系统,nfs、fastdfs、gridfs等,好多东东,整吧,你已经上了贼船。

来张redis的图:



其实redis的核心就是内存存储、以及大量应用了map这种数据结构,虽说达不到O(1),但内存会肯快,相比网络IO;

数据结构方面,相比memcache丰富得多,链表、rehash的Map、集合、还有压缩列表,好处是现在内存更便宜 了;

对外功能方面,支持RDB、AOF日志持久化,注意redis的日志不保证事务;主从复制,感觉类似mysql的binlog复制;哨兵sentinel,那个选举就是paxos的简化版;还支持无中心集群,据说用twemproxy的不少也;发布订阅、lua脚本, 功能很全的说;

有一点得强调,有说redis支持事务,但你muti的命令,执行出错也不会回滚,日志也不一定是及时写入,个人感觉没必要当RDB来看;

最后,redis支持watch,乐观并发那种锁,其实redis、mongodb虽然不严格支持RDB那种事务,但是也提供一些原子性的操作,别说你没用过。

详见redis设计与实现。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  redis nosql 数据库