ubuntu下安装memcache(转)

memcache的介绍和功能就不说了..
直接进入安装步骤

1. 查自己的源里有没有memcache
sudo apt-cache search memcache
2. 如果有,那真是走狗屎运了..
sudo apt-get install memcache
这时候会提示关联了 libevent0 ,是否安装? 废话..当然是yes
然后很顺利的就安装完了..
3. 如果第一步你的源里没有memcache..
那就有点杯具了..去ubuntu的论坛里把各种官方源都添加进去把...
记得 sudo apt-get update 一下

-----------
检验是否安装成功.
-----
1. 安装成功之后,memcache就自己启动了.通过进程查看一下
ps -aux
会查到一条记录
/usr/bin/memcached -m 64 -p 11211 -u nobody -l 127.0.0.1
显示的就是 memcached 的端口11211 用户nobody 地址 127.0.0.1
2. 连接memcached 服务器
telnet 127.0.0.1 11211
然后输入 stats
就显示出来当前memcached的各种参数了..
Java代码 收藏代码

1. kyle@kyle-laptop:~$ telnet 127.0.0.1 11211
2. Trying 127.0.0.1...
3. Connected to 127.0.0.1.
4. Escape character is '^]'.
5. stats
6. STAT pid 7128
7. STAT uptime 1258
8. STAT time 1259138295
9. STAT version 1.2.2
10. STAT pointer_size 32
11. STAT rusage_user 0.004000
12. STAT rusage_system 0.008000
13. STAT curr_items 0
14. STAT total_items 0
15. STAT bytes 0
16. STAT curr_connections 1
17. STAT total_connections 3
18. STAT connection_structures 2
19. STAT cmd_get 0
20. STAT cmd_set 0
21. STAT get_hits 0
22. STAT get_misses 0
23. STAT evictions 0
24. STAT bytes_read 39
25. STAT bytes_written 479
26. STAT limit_maxbytes 67108864
27. STAT threads 1
28. END

kyle@kyle-laptop:~$ telnet 127.0.0.1 11211
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
stats
STAT pid 7128
STAT uptime 1258
STAT time 1259138295
STAT version 1.2.2
STAT pointer_size 32
STAT rusage_user 0.004000
STAT rusage_system 0.008000
STAT curr_items 0
STAT total_items 0
STAT bytes 0
STAT curr_connections 1
STAT total_connections 3
STAT connection_structures 2
STAT cmd_get 0
STAT cmd_set 0
STAT get_hits 0
STAT get_misses 0
STAT evictions 0
STAT bytes_read 39
STAT bytes_written 479
STAT limit_maxbytes 67108864
STAT threads 1
END


这样我们的memcached服务器就安装完了....
真是好简单阿..越来越爱ubuntu了..

--------------
3. 手动启动memcached
memcached -d -m 128 -l 127.0.0.1 -p 11211 -u root
以root用户,分配最大2GM内存启动memcache
memcached -d -m 128 -l 127.0.0.1 -p 11212 -u root
在另外一个端口11212启动另外一个memcache实例
---
后续将介绍如何使用memcache,以及对其的优化.


------------------以下原文来自:http://netsoft.blogbus.com/logs/42608023.html


最近Internet上炒得很热的memached系统是由Danga Interactive开发的一个分布式,高性能的内存对象缓存系统,主要用来分担数据库的压力和提高系统的访问能力。

memcached实际上是在内存中缓存了一张巨大的hash表,memcached在运行时可以用它来存放各种数据,包括视频,声音,大文件,数据库检索结果等 。

memcached 非常快,它使用了libevent(如果可以的话,在linux下使用epoll)来均衡任何数量的打开链接,使用非阻塞的网络I/O,对内部对象实现引用计数(因此,针对多样的客户端,对象可以处在多样的状态), 使用自己的页块分配器和哈希表, 因此虚拟内存不会产生碎片并且虚拟内存分配的时间复杂度可以保证为O(1).。

它的特点就是memcached是分布式的,它解决了共享内存只能单机应用的局限。

使用方法:

1,首先从memcached网站下载最新版的memcached源码包,同时去libevent下载最新的libevent源码。

2,解压下载回来的两个包。

3,由于memcached需要使用libevent我们需要首先安装libevent

cd libevent

./configure --prefix=/usr

make

sudo make install (这一步必需要用sudo 执行,否则会因为没有权限而报错,因为在编译过程中需要新建目录)

如果中间有报错,请参照错误信息来配置或者增加需要的库。

检测libevent 安装是否成功,输入:# ls -al /usr/lib | grep libevent 会出现如下结果(不同的机器可能有不同的输出):

yangfei@yangfei-laptop:~$ ls -al /usr/lib |grep libevent
lrwxrwxrwx 1 root root 21 2009-07-19 08:45 libevent-1.4.so.2 -> libevent-1.4.so.2.1.3
-rwxr-xr-x 1 root root 301588 2009-07-19 08:45 libevent-1.4.so.2.1.3
-rw-r--r-- 1 root root 386638 2009-07-19 08:45 libevent.a
lrwxrwxrwx 1 root root 26 2009-07-19 08:45 libevent_core-1.4.so.2 -> libevent_core-1.4.so.2.1.3
-rwxr-xr-x 1 root root 115721 2009-07-19 08:45 libevent_core-1.4.so.2.1.3
-rw-r--r-- 1 root root 151618 2009-07-19 08:45 libevent_core.a
-rwxr-xr-x 1 root root 860 2009-07-19 08:45 libevent_core.la
lrwxrwxrwx 1 root root 26 2009-07-19 08:45 libevent_core.so -> libevent_core-1.4.so.2.1.3
lrwxrwxrwx 1 root root 27 2009-07-19 08:45 libevent_extra-1.4.so.2 -> libevent_extra-1.4.so.2.1.3
-rwxr-xr-x 1 root root 239933 2009-07-19 08:45 libevent_extra-1.4.so.2.1.3
-rw-r--r-- 1 root root 298406 2009-07-19 08:45 libevent_extra.a
-rwxr-xr-x 1 root root 867 2009-07-19 08:45 libevent_extra.la
lrwxrwxrwx 1 root root 27 2009-07-19 08:45 libevent_extra.so -> libevent_extra-1.4.so.2.1.3
-rwxr-xr-x 1 root root 825 2009-07-19 08:45 libevent.la
lrwxrwxrwx 1 root root 21 2009-07-19 08:45 libevent.so -> libevent-1.4.so.2.1.3

4,接下来安装memcached

cd memcached

./configure --with-libevent=/usr

make

sudo make install () (这一步必需要用sudo 执行,否则会因为没有权限而报错,因为在编译过程中需要新建目录)

如果中间有报错,请参照错误信息来配置或者增加需要的库。

检查memcached 是否安装成功(不同机器可能输出不同): s -al /usr/local/bin/mem*

yangfei@yangfei-laptop:~$ ls -al /usr/local/bin/mem*
-rwxr-xr-x 1 root root 210268 2009-07-19 08:46 /usr/local/bin/memcached

至此安装已经完成。

下面我们通过命令启动memcached

/usr/local/bin/memcached -d -m 10 -u root -l 192.168.0.67 -p 20000 -c 256 -P tmp/memcached.pid
-d 代表启动一个守护进程,-m 是分配给memcached的内存 单位是MB,-u 是代表启动memcached的用户,-l是监听的服务器的地址(也可以在程序中增加,维护) -p 是端口号 ,-c 是运行时最大的并发连接数 默认是1024 -P是设置保存memcached的pid文件。更多的参数。你可以通过memcached -h 来查看。

启动完成后,你可以使用telnet 来查看当前memcached的运行状态。命令:telnet 192.168.0.56 20000

yangfei@yangfei-laptop:~$ telnet 192.168.0.67 20000
Trying 192.168.0.67...
Connected to 192.168.0.67.
Escape character is '^]'.

摸黑输入stats 就会打印出目前memcached的服务器状态。uptime 是memcached运行的秒数,cmd_get是查询缓存的次数。这两个数据相除一下就能得到平均每秒请求缓存的次数。其它状态的含义可以查找相关文档,不一一列出。

如果要关掉memcached服务可以使用:killall -9 memcached

然后你就可以下载xmemcached 客户端来在java中使用memcached,写了一个简单的示例如下:

import java.io.IOException;

import net.rubyeye.xmemcached.MemcachedClient;
import net.rubyeye.xmemcached.XMemcachedClient;

public class MemCachedDemo {
public static void main(String[] args) {
try {
MemcachedClient client=new XMemcachedClient("192.168.0.67",20000);
client.set("key", 20, "object");
System.out.println(client.get("key"));
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}
}

xmemcached是由Dennis基于memcached Client API开发的java的Client API.项目地址为:http://code.google.com/p/xmemcached/ 具体使用方法可以参照项目wiki中的示例和文档。注意最新版的client api是基于JDK1.6
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值