轉(zhuǎn):dixian
項目中使用 hibernate-memcached 做二級緩存
在Hibernate中使用memcached方法:
1、加入從http://code.google.com/p/spymemcached/下載jar包。
2、加入從http://code.google.com/p/hibernate-memcached/下載的jar包。
3、在linux下安裝從http://code.google.com/p/memcached/下載的源碼包。
hibernate.cache.use_query_cache=true
hibernate.cache.use_second_level_cache=true
hibernate.cache.use_structured_entries=true
hibernate.cache.region_prefix=quality.cache.ehcache
hibernate.cache.provider_class=com.googlecode.hibernate.memcached.MemcachedCacheProvider
hibernate.memcached.servers=192.168.1.194:12000
http://www.cnblogs.com/caipuke/archive/2010/05/07/1729667.html
安裝memcached
首先需要安裝libevent
如果是centos可以yum安裝
# yum install libevent-devel
如果不支持yum的系統(tǒng),可以這樣裝libevent
# cd /usr/local/src
# wget http://monkey.org/~provos/libevent-1.4.14b-stable.tar.gz
# tar -zvxf libevent-1.4.14b-stable
# cd libevent-1.4.14b-stable
# ./configure –-prefix=/usr/local/libevent
# make && make install
測試libevent是否安裝成功:
# ls -al /usr/local/libevent/lib | grep libevent
接續(xù)安裝memcached
# cd /usr/local/src
# wget http://memcached.googlecode.com/files/memcached-1.4.5.tar.gz
# tar -vxf memcached-1.4.5
# cd memcached-1.4.5
# ./configure --prefix=/usr/local/memcached --with-libevent=/usr/local/libevent/
# make && make install
測試是否安裝成功:
# ls -al /usr/local/memcached/bin
安裝完后啟動memcached并分配32m內(nèi)存(32為使用內(nèi)存數(shù),可按自身情況修改)
/usr/local/memcached/bin/memcached -d -m 32 -l 127.0.0.1 -p 11211 -u root
測試是否啟動成功:
# ps aux | grep memcached | grep -v 'grep'
在windows的命令行下:
c:\>telnet 192.168.11.194 11211
直接敲擊stats命令
將memcached加入啟動項
# vi /etc/rc.d/rc.local
在最后加入
# /usr/local/memcached/bin/memcached -d -m 100 -u root -l 192.168.1.194 -p 12000 -c 256 -P /tmp/memcached.pid
保存退出
# /usr/local/memcached/bin/memcached -d -m 100 -u root -l 192.168.1.194 -p 12000 -c 256 -P /tmp/memcached.pid
-d選項是啟動一個守護進程,
-m是分配給Memcache使用的內(nèi)存數(shù)量,單位是MB,我這里是100MB。
-u是運行Memcache的用戶,我這里是root。
-l是監(jiān)聽的服務(wù)器IP地址,如果有多個地址的話,我這里指定了服務(wù)器的IP地址192.168.1.194。
-p是設(shè)置Memcache監(jiān)聽的端口默認11211,我設(shè)置了112000,最好是1024以上的端口。
-c選項是最大運行的并發(fā)連接數(shù),默認是1024,我這里設(shè)置了256,按照你服務(wù)器的負載量來設(shè)定。
-P是設(shè)置保存Memcache的pid文件,我這里是保存在/tmp/memcached.pid
結(jié)束Memcache進程
# kill `cat /tmp/memcached.pid`
如果需要,可以reboot一下,不過不用reboot應(yīng)該已經(jīng)生效~
查看是否應(yīng)用:在MyEclipse的控制臺搜索一下'Starting MemcachedClient'字符串
防火墻:
# vi /etc/sysconfig/iptables
-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 12000 -j ACCEPT
#service iptables status |