前端之家收集整理的这篇文章主要介绍了
nosql 学习,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
mongodb、redis、memcached区别: 1、tps方面: redis和memcache差不多,要大于mongodb 2、操作数据方面: redis提供string、hash、list、set、zset等结构,并
支持mapReduce memcached结构单一,但可以缓存
图片、音频、视频等 mongodb提供丰富的
查询表达式 3、内存方面: redis通过开启VM虚拟内存把不经常使用的数据交换到磁盘空间上 memcached使用LRU算法把内存占满时不经常使用的内存数据清除掉 mongodb比较吃内存 4、持久化方面: redis
支持快照与AOF memcache
不支持 mongodb采用binlog 5、事务方面: redis
支持部分事务(乐观锁控制事务),只保证事务中每个操作连续进行 memcache不考虑事务 mongodb
不支持事务 6、应用场景方面: redis应用在数据量的写操作上 memcached应用在
数据库负载,缓存策略上 mongodb应用在海量数据的并发操作上
性能优化: redis: 设置redis.conf中maxmemory,避免
性能崩溃问题 设置redis.conf中hash-max-zipmap-entries 64 ,意思是hash的value这个Map内部不超过多少个成员时会采用线性紧凑格式存储, 默认是64,超过该值
自动转成真正的HashMap 设置redis.conf中hash-max-zipmap-value 512, 意思是hash的value这个Map内部的每个成员值长度不超过多少字节就会采用线性紧凑存储来节省空间 默认是512,超过该值
自动转成真正的HashMap 持久化方式snapshot与aof的选择 mongodb: 数据内存超过物理内存的65%时考虑加大内存(没有分片时) 表的合理设计(范式化设计与反范式化设计) 分片的规则
原文链接:https://www.f2er.com/nosql/203982.html