memcache读书笔记(一)

Memcached概念:

Memcached是danga.com开发的一套分布式内存对象缓存系统,用于在动态系统中减少数据库负载,提升性能。
Memcached是⼀个免费开源的,高性能的,具有分布式对象的缓存系统,它可以用来保存一些经常存取的对象或数据,保存的数据像⼀张巨⼤的HASH 表,该表以Key-value对的方式存在内存中。
Memcached是⾼性能的,分布式的内存对象缓存系统,⽤于在动态应用中减少数据库负载,提升访问速度。
官⺴网地址: http://www.memcached.org/
运行环境: linux,BSD,windows

适用场合

  1. 分布式应用:
    由于memcached本身基于分布式的系统,所以尤其适合⼤型的分布式系统。
  2. 数据库前段缓存:
    数据库常是网站系统的瓶颈。数据库的⼤并发量访问,常造成网站内存溢出。当然我们也可以使用Hibernate的缓存机制。但 memcached是基于分布式的,并可独立于网站应用本身,所以更适合大型⺴站进⾏应⽤的拆分。
  3. 服务器间数据共享:
    举例来讲,我们将网站的登录系统、查询系统拆分为两个应用,放在不同的服务器上,并进⾏集群,那这个时候⽤户登录后,登录信息如何从登录系统服务器同步到查询系统服务器呢?这时候,我们便可以使用memcached,登录系统将登录信息缓存起来,查询系统便可以获得登录信息,就像获取本地信息一样。

不适⽤场合

那些不需要“分布”的,不需要共享的,或者干脆规模小到只有一台服务器的应用,memcached不会带来任何好处,相反还会拖慢系统效率,因为网络连接同样需要资源

操作流程:

这里写图片描述
1、检查客户端的请求数据是否在memcached中,如有,直接把请求数据返回,不再对数据库进行任何操作,路径操作为①②③⑦。
2、如果请求的数据不在memcached中,就去查数据库,把从数据库中获取的数据返回给客户端,同时把数据缓存一份到memcached中(memcached客户端不负责,需要程序明确实现),路径操作为①②④⑤⑦2。
3、每次更新数据库的同时更新memcached中的数据,保证一致性。
4、当分配给memcached内存空间用完之后,会使用LRU(Least Recently Used,最近最少使用)策略加上到期失效策略,失效数据首先被替换,然后再替换掉最近未使用的数据。

Memcached特征:

协议简单
它是基于文本行的协议,直接通过telnet在memcached服务器上可进行存取数据操作

基于libevent的事件处理
在Linux环境下应用Memcache时,Memcache用到了libevent这个库,用于Socket的处理,所以还需要安装libevent。

内置的内存管理方式
所有数据都保存在内存中,存取数据比硬盘快,当内存满后,通过LRU算法自动删除不使用的缓存,但没有考虑数据的容灾问题,重启服务,所有数据会丢失。

分布式
各个memcached服务器之间互不通信,各自独立存取数据,不共享任何信息。服务器并不具有分布式功能,分布式部署取决于memcache客户端。

Memcached安装与启动:

方法一,下载压缩包,解压,安装
1.安装memcached需要先安装libevent
2.安装memcached
3启动memcached
Shell>/usr/local/memcached/bin/memcached -p 11211 -d -u root -P /tmp/memcached.pid

-P是表示使用TCP,默认端口为11211 
-d表示后台启动一个守护进程(daemon) 
-u表示指定root用户启动,默认不能用root用户启动 
-P表示进程的pid存放地点,此处“p”为大写“P-l,后面跟IP地址,手工指定监听IP地址,默认所有IP都在监听 
-m后面跟分配内存大小,以MB为单位,默认为64M 
-c最大运行并发连接数,默认为1024 
-f 块大小增长因子,默认是1.25 
-M 内存耗尽时返回错误,而不是删除项,即不用LRU算法
-h 显⽰示帮助
-d start 启动memcached服务
-d restart 重起memcached服务
-d stop|shutdown 关闭正在运⾏行的memcached服务 -d install 安装memcached服务
-d uninstall 卸载memcached服务

方法二:
参考memcache官网安装方法

命令行直接操作命令

CommandDescriptionExample
getReads a valueget mykey
setSet a key unconditionallyset mykey 0 60 5
addAdd a new keyadd newkey 0 60 5
replaceOverwrite existing keyreplace key 0 60 5
appendAppend data to existing keyappend key 0 60 15
prependPrepend data to existing keyprepend key 0 60 15
incrIncrements numerical key value by given numberincr mykey 2
decrDecrements numerical key value by given numberdecr mykey 5
deleteDeletes an existing keydelete mykey
flush_allInvalidate specific items immediatelyflush_all
flush_allInvalidate all items in n secondsflush_all 900
versionPrints server version.version
verbosityIncreases log levelverbosity
quitTerminate telnet sessionquit
statsPrints general statisticsstats
显示slabs信息,可以详细看到数据的分段存储情况stats slabs
Resets statisticsStats reset
Prints memory statisticsstats malloc
Print higher level allocation statisticsstats items
列出slabs第一段里存的KEY值Stats cachedump 1 0
表示要腾出新空间给新的item而移动的合法item数目STATevictions 0
stats sizes

实例操作:

一、先连接到memcache

shell>telnet 127.0.0.1 11211

二、存⼊数据

Set baidu 0 0 14
www.baidu.com 

回车后系统自动保存,并返回正常值STORED
存入命令格式为

<command> <key> <flags> <exptime> <bytes> \r\n

注意在设定bytes字节后,存入的值的长度一定要与之匹配,否则无法保存成功, 如百度字段设置为14字节,所以存入的www.baidu.com长度为14。
三、取数据

get baidu
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Memcache是一个快速、高效的分布式内存对象缓存系统,常用于提高网站性能和减轻数据库负载。要安装Memcache,需要进行以下步骤: 1. 下载安装包:首先需要下载Memcache的安装包。可以在官方网站上找到最新的稳定版本,并选择与操作系统和服务器兼容的安装包。 2. 解压安装包:下载完成后,将安装包解压到任意目录。解压后的文件夹中应该包含了安装所需的文件和脚本。 3. 安装依赖库:在安装Memcache之前,需要确保系统中已经安装了相应的依赖库。常见的依赖库有libevent和libevent-devel,可以通过包管理器安装,如yum或apt-get。 4. 编译和安装:进入解压后的Memcache文件夹,在命令行中执行编译和安装命令。通常是执行./configure,然后执行make和make install命令。这些命令会编译和安装Memcache到系统中。 5. 配置和启动:安装完成后,需要进行一些配置和启动操作。可以编辑配置文件,设置Memcache的监听地址、端口号和缓存大小等参数。然后,启动Memcache服务,可以通过执行memcached命令或使用脚本启动。 6. 测试和验证:安装完成并启动Memcache后,可以进行一些简单的测试和验证工作。可以使用telnet或memcached客户端工具连接到Memcache服务器,并进行一些数据操作,如set、get等。 总结: Memcache的安装包实际上是一个压缩文件,包含了安装所需的文件和脚本。安装Memcache之前,需要确保系统已经安装了相应的依赖库。安装过程包括解压安装包、安装依赖库、编译和安装、配置和启动、测试和验证等步骤。安装完成后,可以使用telnet或memcached客户端工具连接到Memcache服务器,并进行数据操作。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值