memcached和redis缓存
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了memcached和redis缓存相关的知识,希望对你有一定的参考价值。
memcached :LRU
支持高并发的原因:多路复用IO(消息通知模式)、多线程模式(CPU的核数)
分布式方案:
# 普通hash分布(取模)
# 一致性hash分布(0-232环)
redis:
LRU: 从数据库中删除一个最近最少访问的key
随机淘汰算法:从数据库中随机删除一个key
TTL淘汰算法:从数据库中删除一个最快过期的key
对象计数器:引用到计数器加1,引用失效-1,为0删除,可以避免并发时问题。
支持的类型:
String:
List:双向链表(实现消息队列,头部取出,尾部放入)
Set:无序集合(投票,无重复)
Sorted Set:有序集合(顶贴次数排序)
Hash:哈希表,类似于数据库表(存用户信息)
事务处理
持久化:
#内存快照:存入二进制文件
#日志追加
主从同步:master上禁止持久化,slave可以
步骤:slave主动连接master;slave发SYCN命令到master请求同步;master备份到rdb;master把rdb文件传给slave;slave清空数据库,把rdb导入。
虚拟内存:物理内存不足时。
清除数据:
#定时清除
#用户获取数据时
以上是关于memcached和redis缓存的主要内容,如果未能解决你的问题,请参考以下文章