Memcached 简单利用和简单了解(Mac的安装和使用)
来源:互联网 发布:js判断有无滚动条 编辑:程序博客网 时间:2024/06/03 18:42
Memcached 是一种用于分布式应用的一种缓存机制。应用也比较广泛。这里来学习一下。
首先Memcached 是分布式网站架构都需要用到的缓存机制。缓存就是服务器利用多余的空间上开辟了一个储存空间,在这片储存区域中,我们放入key-value形式的数据。这样的话,前端发来的请求在这片缓存中如果可以得到解决,就不要去访问数据库了。在Web中,最耗费时间的操作就是去数据库中查询,取出数据。如果一个界面,每次都要加载固定的信息,这些信息储存在数据库中,那么每次很多用户同时加载,就要耗费很长时间,但是把这些数据放到缓存里面,每次拿去就很快,因为Memcached的效率是O(1)的。
好的,初步了解之后,就可以安装和使用了。
下面是Mac的安装方法:
用最简单的homebrew 来安装Memcached 十分的方便。
执行 brew install memcached 静静的等待安装成功就好了。
接下来在终端之中启动memcached
启动memcached 命令参数如下
memcached 启动服务器
-p 监听的端口
-l 连接的ip地址,默认是本机
-d start 启动memcached服务
-d stop|shutdown 关闭和正在运行的memcached服务
-d install 安装memcached服务
-u 以root身份运行
-m 最大内存的实用, 单位MB
-c 最大同时连接数
-h 显示帮助
telnet 127.0.0.1 11211 连接服务。
我们可以用memcached 几个简单命令:
<command> <key> <flags> <time> <bytes>
<value>
command: set, add , replace
key : 健值
flags :健值对的整型参数,客户机使用它储存键值对的额外信息
time: 在缓冲中保存的时间,0代表永远
bytes : 在缓冲中的字节点
value : 储存的值
实际的例子:
那么如何在程序中使用呢?网上有两种版本,第一种版本
首先我们需要下载
java_memcached-release_2.5.3.jar
导入之后:
package com.memcached;import com.danga.MemCached.MemCachedClient;import com.danga.MemCached.SockIOPool;import com.sun.istack.internal.Pool;import bean.testbean;public class Memcached {protected static MemCachedClient mcc = new MemCachedClient();static{//设置缓存服务器列表String[] servers = {"192.168.1.117:11211"}; // 创建一个Socked连接池实例 SockIOPool pool = SockIOPool.getInstance(); Integer[] weights={3}; // 向连接池设置服务器和权重 pool.setServers(servers); pool.setWeights(weights); pool.setNagle(false); pool.setSocketTO(3000); pool.setSocketConnectTO(0); // initialize the connection pool pool.initialize(); }public static void main(String args[]){ testbean bean=new testbean(); bean.setName("lulu"); bean.setSex("girl"); mcc.set("person", bean); mcc.set("name","chenyongkang"); testbean b =(testbean)mcc.get("person"); System.out.println("姓名:"+mcc.get("name"));System.out.println("名字"+b.getName()+" 性别:"+b.getSex());}}
这里,memcached 也可以储存bean实体类。
实体类:
package bean;import java.io.Serializable;public class testbean implements Serializable{private String name;private String sex;public String getName() {return name;}public void setName(String name) {this.name = name;}public String getSex() {return sex;}public void setSex(String sex) {this.sex = sex;}}
上面都是memcached 基本安装和使用。
那么如果我们在分布式架构中怎么使用呢?
这篇博客是一个很好的介绍:
http://blog.csdn.net/lulidaitian/article/details/51712893
1. 首先我们要知道memcached 的优势在哪里?如果单独一台服务器,单独的使用了memcached 。那么会得不偿失,速度反而被拖慢了。memcached 的优势是在分布式中。每一个分布式的服务器,都可以用特殊的算法去访问别的服务器中的缓存。这样利用分布式的服务器集群的多余内存,我们就可以发挥memcached的优势,建立一个有效的缓存机制。当然我们需要方法,让每个服务器了解,应该去找哪一台服务器中的缓存。
2.我们需要知道哪些数据可以用memcached缓存。
缓存只是用来储存常用信息,固定的信息。不要把数据库表整个存在缓存中,那样不是缓存的初衷,很多数据库也提供了缓存机制,所以无需用memcached.
- Memcached 简单利用和简单了解(Mac的安装和使用)
- memcached安装和简单使用
- Centos7下关于memcached的安装和简单使用
- Centos7下关于memcached的安装和简单使用
- Memcached(一)Memcached特点和简单安装
- Mac OS X 下 HomeBrew的安装和简单使用
- Mac OS X系统 HomeBrew的安装和简单使用
- Mac下安装artifactory的正确姿势和简单使用
- Mac OS X系统 HomeBrew的安装和简单使用
- 了解数据库和mysql的简单使用
- redis简单了解和使用
- memcached 的简单命令和Java 使用 memcached 的简单例子
- memcached 的安装以及简单使用
- Memcached的简单使用
- memcached的安装和使用
- Memcached的安装和使用
- Memcached的安装和使用
- mac 环境下svn客户端安装和简单使用
- spring中的@Transactional 放在类级别 和 方法级别 上有什么不同?
- 深度学习文章阅读2--3D Convolutional Neural Networks for Human Action Recognition
- 极光推送C#版本在XP系统下提示“基础连接已经关闭: 接收时发生意外错误”的解决方案
- http://blog.csdn.net/idafish/article/details/6308916
- [转]图像梯度:概述
- Memcached 简单利用和简单了解(Mac的安装和使用)
- 算法题/求数组的逆序对
- Crawler4j快速入门实例
- 浅谈python中的字符编码与转码
- Spring如何加载XSD文件(org.xml.sax.SAXParseException: Failed to read schema document错误的解决方法)
- 极差归一化
- FFMpeg 源码分析 (3)avformat_open_input()
- 【学习笔记】jQuery库扩展
- UISegementControl切换简单应用