旃麒雅 发表于 2018-11-5 10:46:22

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导入。
  虚拟内存:物理内存不足时。
  清除数据:
  #定时清除
  #用户获取数据时

页: [1]
查看完整版本: memcached和redis缓存