初探的意思就是装起来玩儿一把,最简单的,所以这里写的东西不一定对,小心!
1. install
2. simple client call
-------1--------
装Memcached必须先装Libevent。 下面是在mac上用brewhome装的,简单。相信自己手动装的话也难度不大。
Libevent - brew install libevent - /usr/local/Cellar/libevent/2.0.21_1
Memcached - brew install memcached - /usr/local/Cellar/memcached/1.4.20
根其他很多软件如maven,ant之类的一样,安装好的目录下面有bin目录。进去执行如下命令运行即可。
Running Memcached:
Go to memcached install path/bin$
sudo ./memcached -p 11212 -m 64 -u root -vv
sudo ./memcached -p 11211 -m 64 -u root -d
第二行意思是以关掉命令行也不会关掉Memecached。
命令的参数能猜个大概:
-p port
-m memory size(MB)
-u user
后面的自己查吧
--------2--------
memcached运行好在那边之后,就在那边孤独的运行着了。 Memcached是和语言无关的,也就是说java,php什么的都可以调用它。所以,调用它的client端有很多实现。这里的简单例子是用的google的xmemcached
|
贴代码这种方式不是太好,贴个小片段 |
|
这里只是最简单的调用方式,可以有pool连接,同时连接多台memcached服务器等。 |
google链接里所有的例子都有,很简单,但是考虑到在墙内登陆不方便,所以这里贴一点意思一下。 链接:
|
Memcached可以支持分布式部署,但是它们之间不是做数据同步的。而是对Client端来说是同一个而已。所以update持久化的数据必须同时update cacahe中的。
Spring 配置:
<bean name="memcachedClient"
class="net.rubyeye.xmemcached.utils.XMemcachedClientFactoryBean" destroy-method="shutdown">
<property name="servers">
<value>localhost:11212 192.168.234.81:11212</value>
</property>
<!-- server's weights -->
<property name="weights">
<list>
<value>1</value>
<value>2</value>
</list>
</property>
<!-- nio connection pool size -->
<property name="connectionPoolSize" value="3"></property>
<!-- Use binary protocol,default is TextCommandFactory -->
<property name="commandFactory">
<bean class="net.rubyeye.xmemcached.command.BinaryCommandFactory"></bean>
</property>
<!-- Distributed strategy -->
<property name="sessionLocator">
<bean class="net.rubyeye.xmemcached.impl.KetamaMemcachedSessionLocator"></bean>
</property>
<!-- Serializing transcoder -->
<property name="transcoder">
<bean class="net.rubyeye.xmemcached.transcoders.SerializingTranscoder" />
</property>
<!-- ByteBuffer allocator -->
<property name="bufferAllocator">
<bean class="net.rubyeye.xmemcached.buffer.SimpleBufferAllocator"></bean>
</property>
</bean>
更深层次的用法就不会了^_^