redis的优缺点

优点:

1 读写性能优异

2 支持数据持久化,支持AOF和RDB两种持久化方式

3 支持主从复制,主机会自动将数据同步到从机,可以进行读写分离。

数据结构丰富:除了支持string类型的value外还支持string、hash、set、sortedset、list等数据结构。

缺点:

Redis不具备自动容错和恢复功能,主机从机的宕机都会导致前端部分读写请求失败,需要等待机器重启或者手动切换前端的IP才能恢复。

2 主机宕机,宕机前有部分数据未能及时同步到从机,切换IP后还会引入数据不一致的问题,降低了系统的可用性。

redis的主从复制采用全量复制,复制过程中主机会fork出一个子进程对内存做一份快照,并将子进程的内存快照保存为文件发送给从机,这一过程需要确保主机有足够多的空余内存。若快照文件较大,对集群的服务能力会产生较大的影响,而且复制过程是在从机新加入集群或者从机和主机网络断开重连时都会进行,也就是网络波动都会造成主机和从机间的一次全量的数据复制,这对实际的系统运营造成了不小的麻烦。

4 Redis较难支持在线扩容,在集群容量达到上限时在线扩容会变得很复杂。为避免这一问题,运维人员在系统上线时必须确保有足够的空间,这对资源造成了很大的浪费。

时间: 2024-11-07 00:08:28

redis的优缺点的相关文章

分布式缓存技术redis学习系列(一)——redis简介以及linux上的安装

redis简介 redis是NoSQL(No Only SQL,非关系型数据库)的一种,NoSQL是以Key-Value的形式存储数据.当前主流的分布式缓存技术有redis,memcached,ssdb,mongodb等.既可以把redis理解为理解为缓存技术,因为它的数据都是缓存在内从中的:也可以理解为数据库,因为redis可以周期性的将数据写入磁盘或者把操作追加到记录文件中.而我个人更倾向理解为缓存技术,因为当今互联网应用业务复杂.高并发.大数据的特性,正是各种缓存技术引入最终目的. 关于r

[转载]Node.JS平台上的数据库Redis,MongoDB,HBASE,MySQL

一. MongoDB: 因为10gen是的赞助商之一,所以MongoDB有着良好的Node.JS支持. a. 基本支持:,在Node.JS对MongoDB的支持有两种常用的组件mongodb, mongoose.下面分别介绍. (1)基于mongodb的支持.这个for Node.JS的驱动是基于事件驱动的,所以用法基本上都是异步回调函方式.下载驱动组件$npm install -gd mongodb 在testdb.js加入如下代码: var mongodb = require('mongod

百万级运维经验二:Redis和Memcached的选择

看到很多人推荐使用Redis代替Memcached,我觉得这两个是不一样的东西,它们的关系应该是共存而不是替代. Memcached是个纯内存型的缓存系统,支持数据类型单一,单个缓存数据有限制,支持分布式,我觉得这是个很理想的缓存系统. Redis是个简单的NOSQL数据库,支持几种简单的数据类型,支持主从复制,支持持久化,可以看作是个内存型数据库. 由此可见,Memcached是正宗的缓存系统,Redis是个可以做缓存系统的内存型数据库. 由于Redis的数据可以设置过期时间,支持多种数据类型

分布式缓存技术redis学习(一)——redis简介以及linux上的安装

redis简介 redis是NoSQL(No Only SQL,非关系型数据库)的一种,NoSQL是以Key-Value的形式存储数据.当前主流的分布式缓存技术有redis,memcached,ssdb,mongodb等.既可以把redis理解为理解为缓存技术,因为它的数据都是缓存在内从中的:也可以理解为数据库,因为redis可以周期性的将数据写入磁盘或者把操作追加到记录文件中.而我个人更倾向理解为缓存技术,因为当今互联网应用业务复杂.高并发.大数据的特性,正是各种缓存技术引入最终目的. 关于r

Redis缓存知识点

使用缓存是系统性能优化的第一黄金法则. 缓存的设计和使用对一个系统的性能至关重要,平时接触到项目无论多少也都会在某些层面用到缓存,比如用HashMap实现,Ehcache,memcached.redis等.Redis算是目前最火的方案之一,今天看了它相关的一些问题,总结汇总一下. 一.Redis的优缺点及适用场景 Redis 是一个基于内存的高性能key-value数据库.很像memcached,整个数据库统统加载在内存当中进行操作,定期通过异步操作把数据库数据flush到硬盘上进行保存.它的优

面试篇:redis 51题

1.什么是NoSQL?列举几个你知道的NoSQL数据库.答:①许多网站在海量用户访问的高并发情况下出现崩溃问题,根本原因是关系型数据库.关系型数据库有性能瓶颈:磁盘IO性能低下.扩展瓶颈:数据关系复杂,扩展性差,不便于大规模集群.②NoSQL即Not-Only SQL,泛指非关系型数据库,作为关系型数据库的补充,降低了磁盘IO次数--使用内存存储.去除数据间关系--不存储关系,仅存储数据.③NoSQL的特征:特征:可扩容,可伸缩:大数据量下高性能:灵活的数据模型:高可用.④常见的NoSQL数据库

MySQL常见面试问题40问

1.mysql如何做分页 mysql数据库做分页用limit关键字,它后面跟两个参数startIndex和pageSize 2.mysql引擎有哪些,各自的特点是什么? innodb和myisam两个引擎,两者区别是 innodb支持事物,myisam不支持 innodb支持外键,myisam不支持 innodb不支持全文索引,myisam支持全文索引 innodb提供提交.回滚.崩溃恢复能力的事物的安全能力,实现并发控制 myisam提供较高的插入和查询记录的效率,主要用于插入和查询 3.数据

利用Redisson实现分布式锁及其底层原理解析

Redis介绍 参考地址:https://blog.csdn.net/turbo_zone/article/details/83422215 redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zset(sorted set --有序集合)和hash(哈希类型).这些数据类型都支持push/pop.add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的.在此

第十一课——codis-server的高可用,对比codis和redis cluster的优缺点

[作业描述] 1.配置codis-ha 2.总结对比codis的集群方式和redis的cluster集群的优缺点 ================================================================================= 一.codis-ha的部署配置 ##codis-ha要独立于codis集群,单独配置,也是基于go环境的 1.go方式下载codis-ha: go get github.com/ngaut/codis-ha 2.进入cod