Memcached基础

分布式模型
     切片(把不同的数据放入不同的数据库实例中)
        垂直切分(按功能模块划分)
水平切分(把不同的记录按一个标准进行拆分)
     复制(不同的数据库实例当中,数据是相同的)
        主从复制
对等复制
-------------------------------------------------------------------------
读写规划和一致性
N  ---- 数据复制的份数
W ----更新数据时需要保证写完成的节点
R  ----读取数据的时候需要读取的节点数
如果W+R>N    写的节点和读的节点重叠,则是强一致性  典型  一主一备的同步
如:  N=2,W=2,R=1 不管读的是主库还是备库的数据,都是一致的。


如果W+R<N ,则是弱一致性   如典型一主一备异步复制的关系型数据库
如:N=2,W=1,R=1 如果是读是备库,无法读取主库更新的内容,弱一致性
对于分布式系统,为了保证高可用性一般设置N>=3,不同的N,W,R组合,在
可用性和一致性之间取个平衡


如果N=W,R=1  ?---->可用性就降低  强一致性
如果N=R,W=1 ?--->一个写入成功即可,写性能和可用性高,弱一致性
---------------------------------------------------------------------------------------




Memcached--->分布式的缓存服务器
    1.特点
        a.内存存储 
  速度快,内存要求高,cpu要求低
  部署Memcached服务端的时候往往会和内存要求低(内存低消耗),cpu要求高的应用部署在一起
b.集中式的缓存
  Memcached必须把客户端包含在一起,我们才认为是分布式的。
  对于每个Memcached实例都是独立的,集中式缓存,
  存在单点问题    (实际应用中我们可能需要自己去解决单点问题)
c.分布式扩展
  注意的问题:一致性hash问题,在搭建集群的时候我们去解决这个问题 
d.Socket通讯
   需要注意传输内容大小和序列化的问题。
   底层做的是NIO(多路复用的IO)
   序列化的性能问题
e.特殊的内存分配机制
  支持的最大对象是1M(关于内存到底如何分配,在后续章节会详细讲解)
f.缓存机制比较简单
  两次hash算法,第一次定位实例(机器down了,扩展机器时防止数据丢失),第二次进行hashMap操作
g.客户端非常重要
   客户端包含在一起才是分布式的
   客户端只要支持socket通讯即可
h.一些应用点
  小对象的缓存、小的静态资源的缓存、sql结果的缓存(数据库的前端缓存)
  session的缓存(msm--->memcached session manage)
  ESB的消息缓存   等等


安装、启动
   1.tar -xzvf 文件.tar.gz
   2.安装libevent
     进入目录
     ./configure
     make
     make install
   3.安装Memcached
     加压  进入目录
     ./configure
     make
     make install
   4.测试是否安装成功
     ./memcached -h
   5.启动服务和连接
     ./memcached -d -m512 -p11211 -uroot
     telnet localhost 11211
     启动参数
     启动方式
      -d ---->以守护程序方式运行
      -uroot 指定用户
      内存设置 
      -m 1024 
      -M 内存不够禁止LRU
      -------------------------------------------
      -n
      -f 1.25 增长因子
      -l    这三个启动参数将来在内存分配内存优化等方面有重要作用,讲内存分配的时候会详细的讲解
      -------------------------------------
      连接设置
          -p    TCP端口
 -U   UDP端口
     并发设置参数
        -c 1024  最大并发连接数
-t 4   线程数


将来这些选项都可以放入到启动参数中。


常用的一些命令
 set liu 32 0 4  长度一定要正确
 java
 STORED


 add 只能添加不存在的key


 replace只能替换已经存在的key


 get/gets
    gets会带有版本
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值