redis是CA还是CP呢
CAP原则又称CAP定理,指的是在一个分布式云服务器系统中, Consistency(一致性)、 Availability(可用性)、Partition tolerance(分区容错性),三者不可得兼。
一致性(C):在分布式系统中的所有数据备份,在同一时刻是否同样的值。(等同于所有节点访问同一份最新的数据副本)
可用性(A):保证每个请求不管成功或者失败都有响应。
分区容忍性(P):系统中任意信息的丢失或失败不会影响系统的继续运作。
CAP原则的精髓就是要么AP,要么CP,要么AC,但是不存在CAP。如果在某个分布式系统中数据无副本, 那么系统必然满足强一致性条件, 因为只有独一数据,不会出现数据不一致的情况,此时C和P两要素具备,但是如果系统发生了网络分区状况或者宕机,必然导致某些数据不可以访问,此时可用性条件就不能被满足,即在此情况下获得了CP系统,但是CAP不可同时满足。
因此在进行分布式架构设计时,必须做出取舍。当前一般是通过分布式缓存中各节点的最终一致性来提高系统的性能,通过使用多节点之间的数据异步复制技术来实现集群化的数据一致性。通常使用类似 memcached 之类的 NOSQL 作为实现手段。虽然 memcached 也可以是分布式集群环境的,但是对于一份数据来说,它总是存储在某一台 memcached 服务器上。如果发生网络故障或是服务器死机,则存储在这台服务器上的所有数据都将不可访问。由于数据是存储在内存中的,重启服务器,将导致数据全部丢失。当然也可以自己实现一套机制,用来在分布式 memcached 之间进行数据的同步和持久化,但是实现难度是非常大的 。
数据库redis_cap理论.png
数据库redis是CA还是CP呢
对于Redis来说,如果是单机的话,是CP,而如果要使用slave(主仆模式)的话就变为了AP。
相关文章
- 让Redis管理你的订单号生成(订单号生成 redis)
- 利用Redis丰富互联网应用的场景(简述redis的应用场景)
- 比较Redis与ES在查询方面的优劣(查询放redis还是es)
- 比较直接内存与Redis的优势和劣势(直接内存还是redis)
- 究竟是用数据锁还是Redis锁(用数据锁还是redis锁)
- 本机Redis还是内存(本机redis还是内存)
- 服务器端开启Redis简明指南(服务器开redis端口号)
- 研究Redis是否可以储存日志文件(日志能存入redis吗)
- 抉择数据存储,ElasticSearch还是Redis(数据放es还是redis)
- 使用交叉编译编译Redis(交叉编译 redis)
- 抉择Web还是Redis(web和redis哪个好)
- 评述原生Redis的真实优势(原生redis评测)
- 使用Redis实现网页分页缓存(分页缓存redis使用)
- 先把数据收进元胞,再用Redis加速(先入库还是redis)
- 比较内存与Redis的优劣势(使用内存还是redis)
- 哪研究Redis默认日志路径的所在地(redis默认日志路径在)
- 利用Redis精准实现数据排重(利用redis 数据排重)
- Redis免费还是要付费(redis需要费用吗)
- 选择Redis集群还是单线程(redis集群还是单线程)
- 构建Redis集群多线程还是单线程(redis集群是否单线程)
- Redis繁荣之旅如何设置最佳阈值(redis阈值)
- Redis锁的等待机制设计(redis锁等待设置)
- 灵活性提升如何让Redis配置多个IP地址(redis 配置多个ip)
- 使用Redis实现数据安全配置加密策略(redis配置加密)
- Redis破解 脱离保护模式的快乐旅程(redis退出保护模式)
- Redis建表还是不建表(redis要建表吗)
- 调整调整Redis连接数,提升系统性能(redis连接数大小如何)
- 缓存硬盘存储还是Redis缓存,你选择哪个(redis缓存还是硬盘)