变化频繁且需要入库,这个就直接不要考虑memcached了,为啥?它没法持久化呗。
再就是过大的数据不适合放在memcached中,这个也好理解。
1.2. 分布式缓存产品比较
首先来看下线程模型,Redis是单进程单线程的模式,而memcached是单进程多线程,这肯定memcached性能比redis要好那么一点,这样的差距反应在QPS/TPS的比较中,不过这个差别也不是特别的大。
没错,这么一比较memcached也并不是一无是处,但这也就是memcached唯一的可圈可点之处了。
其他的基本redis超过memcached一大截。
1.2.1. 集群比较
当然现在还讲到安装,更没讲到memcached集群,不过同学们可以先来看下,首先回顾下redis集群,不管是redis中的哨兵还是cluster集群,服务与服务直接是可以有数据的同步的,master的节点数据会通过slaveof的配置参数进行同步,如下图所示。
再来看下memcached,memcached肯定也是可以支持集群的,但他的集群仅仅体现再数据的分库中,memcached内存有限制是吧?我用多个memcached来存不就可以了。memcached节点之间是不会进行任何通信的,更别说什么master与slave机制了,他本身也不支持持久化,服务重启数据就丢了,所以高可用什么的想都不要想,他不支持,如下图所示。
1.2.2. 数据库流行度排行
这个图是2018年的最新数据,关系型数据库就不说了,重点就来看下redis和memcached这两个nosql所在得位置,redis还不错。比较汗颜得就是memcached了。我记得2017年我就看过这数据库他排24名,现在2019年了,依然不温不火,排在24名,有点小尴尬!
2. Memcached安装
2.1. 准备工作
在linux根目录创建soft文件夹(根据自己习惯)
mkdir /soft
在soft目录里面上传课件里面的两文件
libevent-2.1.8-stable.tar.gz
memcached-1.5.12.tar.gz
2.1.1. 安装libevent
安装Memcached应该先安装好libevent依赖,在soft目录里面执行命令
tar -xzvf libevent-2.1.8-stable.tar.gz
进入libevent的目录,开始安装libevent
./configure -prefix=/soft/libevent
make
make install
通过上述命令,libevent已经安装到/soft/libevent目录了
2.1.2. 安装Memcached
在soft目录解压上传的memcached
tar -zxvf memcached-1.5.12.tar.gz
注意:编译的时候需要指定动态链接库,需要linux把libevent/lib目录加载进来,下面的步骤特别重要
vi /etc/ld.so.conf
在ld.so.conf目录中增加libevent/lib所在目录,wq保存退出
增加(请根据libevent实际安装目录设置)
/soft/libevent/lib
执行下面命令让上面的修改生效
ldconfig
下面可以正式安装memcached,需要指定libevent的安装位置
./configure -prefix=/soft/memcached --with-libevent=/soft/libevent
make
make install
2.2. 测试
进入memcached的安装目录下的bin目录
执行:
./memcached -h
发现有如上界面说明memcached 已经安装成功
2.3. memcached启动
memcached -m 16 -p 11211 -d -c 1024 -u root
-d 选项是启动一个守护进程,
-m 是分配给Memcache使用的内存数量,单位是MB,这里是1024MB,默认是64MB
-u 是运行Memcache的用户,这里是root
-l 是监听的服务器IP地址,默认应该是本机
-p 是设置Memcache监听的端口,默认是11211,最好是1024以上的端口
-c 选项是最大运行的并发连接数,默认是1024,这里设置了1024,按照你服务器的负载量来设定
-P 是设置保存Memcache的pid文件位置
-h 打印帮助信息
-v 输出警告和错误信息
-vv 打印客户端的请求和返回信息
ps -ef | grep memcached 查看
2.4. 集群启动
memcached 可以安装到多台机器上,安装方式与上面一样。这里就不分别安装了,就在当前的节点上启动多个memcached 实例。
memcached -m 16 -p 11212 -d -c 1024 -u root
最后
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。
因此我收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点!不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
知识点!不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门**
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!