memcache安装与简单介绍
本文参考自菜鸟教程中的内容。
安装
安装memcache的时候,请切换为root用户
root@centos # wget http://www.memcached.org/files/memcached-1.5.9.tar.gz
root@centos # tar -zxf memcached-1.5.9.tar.gz
root@centos # cd memcached-1.5.9
root@centos # ./configure --prefix=/usr/local/memcache
root@centos # make && make install
root@centos # ln -s /usr/local/memcache/bin/memcached /usr/local/sbin/memcached
启动
启动memcache的时候,不能使用root身份,所以请切换为其他用户。
beyond@centos $ memcached -p 11211 -m 64m -d
beyond@centos $ lsof -i:11211
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
memcached 31461 beyond 26u IPv4 10238464 0t0 TCP *:memcache (LISTEN)
memcached 31461 beyond 27u IPv6 10238465 0t0 TCP *:memcache (LISTEN)
-p 表示memcache监听的端口。
-m 表示将本地的多少内存分配给memcache,单位为MB。
-d 表示以守护进程方式运行(后台运行)
-d可以替换为-vv,表示显示memcache的运行状态。
命令
有关参数的说明:flags 存储额外信息,在使用get和gets的时候可以看到;expire 过期时间的单位为秒; bytes_length 要设置的value的长度(字节数)。
set:不管是否设置key对应的值,使用set命令之后,都会重新设置key对应的值。有则更新,无则创建。
set key flags expire bytes_length [noreply]
value
add:如果之前没有设置过key对应的值(或者说已经过期了),那么此时就设置key对应的值;如果之前设置了key对应的值(并且没有过期),那就什么也不做,不会进行更新操作。
add key flags expire bytes_length [noreply]
value
replace:如果设置了key对应的值,并且没有过期的话,那么就更新key对应的值;如果没有设置key对应的值,或者说之前设置了,但是过期了,那么此时并不会重新设置key对应的值,(什么也不做)。
replace key flags expire bytes_length [noreply]
value
append:如果设置了key对应的值,并且没有过期的话,那么可以在key对应的值后面增加内容;如果没有key对应的值,或者过期了,那么就什么也不做。
append key flags expire add_bytes_length [noreply]
value
prepend:和append的规则一样,区别是prepend是在value的前面追加。
prepend key flags exptime bytes [noreply]
value
get:获取memcache中的key对应的信息(可以是一个key列表,使用空格分开)。
get key1 key2 ...
gets:获取memcache中key对应的详细信息,包括cas令牌。
gets key1 key2 ...
delete:删除一个key,使用delete一次只能删一个key。
delete key
incr :如果key存在,并且是32位的整型,那么就将value增加一个decrement,注意必须制定incr。
incr key increment
decr:如果key存在,并且是32位整型数字,那么就将value减少decrement,必须指定decrment。
decr key decrement
flush_all:清空memcache中所有的数据。如果没有指定after的话,就立即清除;如果制定了after,就在after秒之后清空数据。
flush_all [after]
拓展
0、memcache中的数据保存在内存中,断电就会消失,并且存的单个数据项默认是不能大于1MB的,但是可以通过修改源码来实现改变大小。
1、memcache中只能存字符串,也就是说,如果要存数组、对象的话,需要先序列化之后再存。
3、memcache中的数据在过期的时候,并不会立即被清除,而是在下一次访问这个过期数据的时候,才清除这个过期数据。
4、memcache是分布式缓存,但是每个节点之间不会进行相互通信,也就是说,节点之间不会进行同步数据操作,用户需要自己设计算法将数据分配到不同的memcache节点中。
5、memcahce是一个多线程运行的,其中主线程主要监听连接请求,工作线程主要进行处理客户端请求。主线程如果监听到连接请求后,就接受请求,然后将连接分配给工作线程去处理;工作线程接到请求之后,进行处理请求,然后将结果返回给客户端。
6、memcache使用LRU算法来进行数据的删除。
7、memcache没有持久化的概念,即缓存中的数据不会保存到硬盘上,一旦断电,数据真的就丢了。redis有持久化。
8、不支持事务回滚
memcache安装与简单介绍的更多相关文章
- Kali安装zmap简单介绍
zmap是一个非常方便的扫描器,跟nmap和masscan一样,不过区别在于zmap他快,号称是一小时扫遍整个互联网.主要使用方式是TCP SYN scan.TCP connectscan.UDP s ...
- java web(一):tomcat服务器的安装和简单介绍,与eclipse关联
一:下载tomcat安装包和安装 这个百度一下就可以了. 安装完以后进入tomcat的安装路径查看 如图所示:有几个目录简单介绍下 bin目录: 存放运行tomcat服务器的相关命令. conf目 ...
- Postman安装与简单介绍
Postman简介 Postman是一个 Chrome 扩展,能提供强大的 Web API HTTP 请求调试功能.Postman能够发送任何类型的http请求,支持GET/PUT/POST/DELE ...
- postman插件的安装以及简单介绍
1:postman是干什么的? Postman官网上这么介绍的:“Modern software is built on APIs,Postman helps you develop APIs fas ...
- supervisor的安装与简单介绍
1,介绍 Supervisor是一个进程管理工具,官方的说法 用途就是有一个进程需要每时每刻不断的跑,但是这个进程又有可能由于各种原因有可能中断.当进程中断的时候我希望能自动重新启动它,此时,我就需要 ...
- rocksDB 安装问题简单介绍
前一段时间准备测试rocksdb,按照帖子和官网的例子,在安装过程中遇到一些问题.这里给出的是在Ubuntu下安装python使用的版本. 首先,要感谢这些帖子对我的帮助: 1:http://tech ...
- percona-toolkit的安装及简单介绍
MySQL数据库是轻量级.开源数据库的佼佼者.其功能和管理,健壮性与Oracle相比还是有相当的差距.因此有非常多功能强大第三方的衍生产品,如percona-toolkit,XtraBackup等等. ...
- moogodb 安装及简单介绍
1,安装Moogodb 因为是windows 64位操作系统,直接到官网上下载.msi文件,下载完成后点击安装,点击同意协议之后,出现下面的对话框, Choose Setup Type, 就是选择安装 ...
- 性能测试三十八:Java性能分析神器-JProfiler安装和简单介绍
Jprofiler是一个重量级的工具,需要分别在服务器和windows都装客户端,会损耗性能,用于发现问题后排查问题,而不是常规的监控 JPROFILER工具下载地址:http://www.ej-te ...
随机推荐
- Java8新特性之重复注解(repeating annotations)
一.什么是重复注解 允许在同一申明类型(类,属性,或方法)的多次使用同一个注解 二.一个简单的例子java 8之前也有重复使用注解的解决方案,但可读性不是很好,比如下面的代码: 复制代码代码如下: p ...
- 算法102----360笔试(m进制不进位相加最大值)
转自:https://blog.csdn.net/qq_18310041/article/details/99656445 import copy # m进制 m = 5 n = 5 line = [ ...
- Jquery Ajax跨域访问
一.同源策略 二.跨域的集中方法: 1.服务器端发送请求,服务器作为中继代理(此方法不理解) 2.iframe 3.script标签 通过动过动态生成script标签,并将src指向目标源的方式(im ...
- Java原子类--AtomicReference
转载请注明出处:http://www.cnblogs.com/skywang12345/p/3514623.html AtomicReference介绍和函数列表 AtomicReference是作用 ...
- QPainter 提高绘制效率的方法
原文: https://my.oschina.net/u/3919756/blog/1944747 如果我们用painter一个一个的绘制直线,圆等在控件上,绘制效率会不高.为了提高效率,我们可以设置 ...
- 获取登录用户ip
public static String getIpAddr(HttpServletRequest request) { String ipAddress = null; try { ipAddres ...
- Linq找不到行或行已更改
1.发生这种情况第一时间是确认了database明明存在这条数据 2.然后确认了Linq查找的条件中是否有连接条件使得连续更新中发生变化 3.最后发现原来是Linq使用的表实际中有个field由not ...
- umediter实现粘贴word图片
图片的复制无非有两种方法,一种是图片直接上传到服务器,另外一种转换成二进制流的base64码目前限chrome浏览器使用首先以um-editor的二进制流保存为例:打开umeditor.js,找到UM ...
- Elasticsearch环境搭建和介绍(Windows)
一.Elasticsearch介绍和安装 1.1 介绍 Elastic Elastic官网:https://www.elastic.co/cn/ Elastic有一条完整的产品线:Elasticse ...
- 【csp模拟赛九】--dfs3
这道题贪心错误:直接dfs就行,枚举新开一个还是往之前的里面塞 贪心代码(80): #include<cstdio> #include<algorithm> #include& ...