Memcached(二)简介

一  简介

1)memcached是'多线程'工作,而redis是'单线程'工作

多线程模式允许 memcached 能够'充分利用多个 CPU',并在 C'PU 之间共享'所有的缓存数据

memcached 使用一种'简单的锁机制'来保证'数据更新操作的互斥'

2)各个memcached服务器之间'互不通信',各自独立存取数据,'不共享'任何信息

3)服务器并不具有分布式功能,'分布式部署'取决于'memcache客户端'

二  特征

1)'不支持'数据的持久化,'服务器关闭'之后'数据全部丢失';

2)Memcached'简洁而强大',便于'快速开发',上手较为'容易';

3)'互不通信'的Memcached之间具有'分布特征';

4)没有'安全机制' --> 不需要'用户名和密码',只需要知道'memcached'服务器的ip地址和端口号即可

  使用'-l'参数设置为只有本地可以连接:这种方式,别的机器都不能访问,可以达到最好的安全性

  使用'防火墙',关闭'11211'端口,外面也不能访问

三  常见支持的语言

1.PHP

PECL/memcached
PECL/memcache
PHP libmemcached --> 'php74-php-pecl-memcached' -->'重点'

2.Java

spymemcached
Java memcached client/danga
memcache-client-forjava/taobao --> '重点'

3.Perl

my $memclient = Cache::Memcached->new({ servers => [ '10.0.0.10:11211', '10.0.0.11:11211' ]});

4.Python

pip install python-memcached

三  应用场景

1)查询'频繁' -->'热点数据' -->'有意义'

memcached适合'变化频繁'-->更准确的是'查询频繁' -->'select'

变化频繁且需要入库,这个就直接不要考虑memcached了 --> 原因: 没办法'持久化'呗

应用场景: 缓存的'内容变化不频繁',但客'户端'查询频繁的数据,最后就是'读多写少'的场景

2)缓存的'数据不大'

原因:memcached对存储'数据大小'有限制、'价格问题'

3)pv值高

pv: 就是page view'页面展示次数',如果一些页面都'没什么访问量'就不要考虑memcached了 --> '有意义'

电商场景中: 用于'页面数据'的缓存

四  memcahced集群

memcached'也是支持集群'的,但它的集群仅仅'体现在数据的分库中'

memcached '内存有限制'  --> 我用'多个memcached实例来存'不就可以了

memcached'节点之间'是'不会'进行任何通信的,更别说什么'master与slave'机制了,他本身'也不支持持久化',服务'重启数据就丢了'

一种是'客户端'支持集群,一种是'代理端'支持集群(性能会有所损耗,大概20%)-->'推荐使用客户端'
-c  选项是最大运行的'并发连接数',默认是1024,按照你'服务器的负载量'来设定

-v  输出'警告和错误'信息

-vv 打印客户端的'请求和返回'信息

五  参考博客

参考一

参考二

让memcached和mysql更好的工作

memcached相关命令

memcached的安全机制

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值