Linux 下 Memcached 缓存服务器安装配置

2023-11-04

【安装Memcache服务器端】
我目前的平台,服务器是CentOS 5.4(内核:2.6.164),客户端是Windows XP SP2,需要安装的就是服务器的Memcached的守护进程和客户端的PHP扩展php_memcache两个东西。现在我分别来讲。
服务器端主要是安装memcache服务器端,目前的最新版本是 memcached-1.2.0

下载:http://www.danga.com/memcached/dist/memcached-1.2.0.tar.gz
另外,Memcache用到了libevent这个库用于Socket的处理,所以还需要安装libevent,libevent的最新版本是libevent-1.2。(如果你的系统已经安装了libevent,可以不用安装)
官网:http://www.monkey.org/~provos/libevent/
下载:http://www.monkey.org/~provos/libevent-1.2.tar.gz
我分别把两个东东下载回来,放到 /tmp 目录下:
# cd /tmp
# wget http://www.danga.com/memcached/dist/memcached-1.2.0.tar.gz
# wget http://www.monkey.org/~provos/libevent-1.2.tar.gz
先安装libevent:
# tar zxvf libevent-1.2.tar.gz
# cd libevent-1.2
# ./configure –prefix=/usr
# make
# make install
然后看看我们的libevent是否安装成功:
# ls -al /usr/lib | grep libevent
lrwxrwxrwx 1 root root 21 11?? 12 17:38 libevent-1.2.so.1 -> libevent-1.2.so.1.0.3
-rwxr-xr-x 1 root root 263546 11?? 12 17:38 libevent-1.2.so.1.0.3
-rw-r–r– 1 root root 454156 11?? 12 17:38 libevent.a
-rwxr-xr-x 1 root root 811 11?? 12 17:38 libevent.la
lrwxrwxrwx 1 root root 21 11?? 12 17:38 libevent.so -> libevent-1.2.so.1.0.3
还不错,都安装上了,再来安装memcache,同时需要安装中指定libevent的安装位置:
# cd /tmp
# tar zxvf memcached-1.2.0.tar.gz
# cd memcached-1.2.0
# ./configure –with-libevent=/usr
# make
# make install
如果中间出现报错,请仔细检查错误信息,按照错误信息来配置或者增加相应的库或者路径。
安装完成后会把memcached放到 /usr/local/bin/memcached ,我们看以下是否安装了:
# ls -al /usr/local/bin/mem*
-rwxr-xr-x 1 root root 137986 11?? 12 17:39 /usr/local/bin/memcached
-rwxr-xr-x 1 root root 140179 11?? 12 17:39 /usr/local/bin/memcached-debug
恩,安装完成了,现在我们看以下memcache的帮助:
# /usr/local/bin/memecached -h
memcached 1.2.0
-p port number to listen on
-s unix socket path to listen on (disables network support)
-l interface to listen on, default is INDRR_ANY
-d run as a daemon
-r maximize core file limit
-u assume identity of (only when run as root)
-m max memory to use for items in megabytes, default is 64 MB
-M return error on memory exhausted (rather than removing items)
-c max simultaneous connections, default is 1024
-k lock down all paged memory
-v verbose (print errors/warnings while in event loop)
-vv very verbose (also print client commands/reponses)
-h print this help and exit
-i print memcached and libevent license
-b run a managed instanced (mnemonic: buckets)
-P save PID in , only used with -d option
-f chunk size growth factor, default 1.25
-n minimum space allocated for key+value+flags, default 48
参数不算多,我们来启动一个Memcache的服务器端:
# /usr/local/bin/memcached -d -m 256 -u root -l 192.168.1.5 -p 11210 -c 256 -P /data/memcached/memcached.pid
-d 选项是启动一个守护进程,-m是分配给Memcache使用的内存数量,单位是MB,我这里是10MB,-u是运行Memcache的用户,我这里是 root,-l是监听的服务器IP地址,如果有多个地址的话,我这里指定了服务器的IP地址192.168.0.200,-p是设置Memcache监听的端口,我这里设置了12000,最好是1024以上的端口,-c选项是最大运行的并发连接数,默认是1024,我这里设置了256,按照你服务器的负载量来设定,-P是设置保存Memcache的pid文件,我这里是保存在 /tmp/memcached.pid,如果要结束Memcache进程,执行:
# kill `cat /tmp/memcached.pid`

也可以启动多个守护进程,不过端口不能重复。

memcached是一个高性能的分布式的内存对象缓存系统,通过在内存里维护一个统一的巨大的hash表,它能够用来存储各种格式的数据,包括图像、视频、文件以及数据库检索的结果等。最初为了加速 LiveJournal 访问速度而开发的,后来被很多大型的网站采用。起初作者编写它可能是为了提高动态网页应用,为了减轻数据库检索的压力,来做的这个缓存系统。它的缓存是一种分布式的,也就是可以允许不同主机上的多个用户同时访问这个缓存系统, 这种方法不仅解决了共享内存只能是单机的弊端, 同时也解决了数据库检索的压力,最大的优点是提高了访问获取数据的速度!基于memcached作者对分布式cache的理解和解决方案。memcached完全可以用到其他地方 比如分布式数据库, 分布式计算等领域。
1、 memcached 协议理解
memcache是为了加快http://www.livejournal.com/访问速度而诞生的一个项目。
它的官方主页是:http://www.danga.com/memcached/
目前在网站开发中应用较少,主要的应用有:

http://www.danga.com/memcached/users.bml

在国内的网站开发中,还很少没见到有应用的,中文资料十分匮乏。
工作机制:通过在内存中开辟一块区域来维持一个大的hash表来加快页面访问速度,和数据库是独立的。但是目前主要用来缓存数据库的数据。允许多个server通过网络形成一个大的hash,用户不必关心数据存放在哪,只调用相关接口就可。存放在内存的数据通过LRU算法进行淘汰出内存。同时可以通过删除和设置失效时间来淘汰存放在内存的数据。
2、 memcached 使用入门
2.1 memcached的安装
?<1>memcached服务的安装
先检查linux内核版本,建议将memcached 安装在2.6以上。
因为memcached 需要用到libevent和 epoll 。
memcached安装前首先确定你的服务器上面安装了libevent库,
libevent下载地址( http://www.monkey.org/~provos/libevent/)。
下载memcached的源码( http://www.danga.com/memcached/download.bml)。
Memcached最初是用perl写的,现在的版本是用c写的。
下载后拷贝到一个目录,安装需要root用户来执行
tar -zxvf memcached-1.1.12.tar.gz
cd memcached-1.1.12
./configure
这里必须先要configure, 它会检测你的系统情况,然后生成一个config.h文件和其它的几个文件,另外和其它的configure一样,你可以配置它的安装路径等等。默认应用程序安装在/usr/local/bin目录下。
make //编译
make install //安装
<2>memcached客户端的安装
根据memcached协议,用户可以自己写出符合自己要求的客户端程序。目前http://www.danga.com/memcached/download.bml
提供perl,c,Java,Python,php等客户端程序供下载和参考。下面我就以perl客户端程序为例说明客户端的安装:
下载后拷贝到一个目录,安装需要root用户来执行
tar -zxvf Cache-Memcached-1.14.tar.gz
cd Cache-Memcached-1.14
perl makefile.pl
make
make install
make test
这样就安装好了memcahced, 启动memcached就可使用分布式缓存系统了!
2.2 快速入门
<1> memcached服务的启动
memcached的启动非常简单,它没有配置文件,只要配置好几个参数就可以使用了。下面我以一个实际应用的例子,具体说明一下:
memcached –d –m 500 -l 64.128.191.151 -p 11211 -vv >>/var/www/kelly/test/logs/memcached_$$.log
启动的这个memcached为一个后台守护进程模式(-d), 然后缓存的空间为500M(-m), 监听(-l)服务器64.128.191.15的11211号端口(-p).,将日志写道/var/www/kelly/test/logs/memcached_$$.log(-vv)。
其实memcached的参数也非常的有限,就下面这几个:
? -p port number to listen on
? -l interface to listen on, default is INDRR_ANY
? -d run as a daemon
? -r maximize core file limit
? -u assume identity of (only when run as root)
? -m max memory to use for items in megabytes, default is 64 MB
? -M return error on memory exhausted (rather than removing items)
? -c max simultaneous connections, default is 1024
? -k lock down all paged memory
? -v verbose (print errors/warnings while in event loop)
? -vv very verbose (also print client commands/reponses)
? -h print this help and exit
? -i print memcached and libevent license
我们也可以将这个启动脚本写道/etc/rc.d或者/erc/rc.local,这样可以在服务器启动时候执行。
<2> memcached客户端的连接
下面我就以perl客户端程序为例说明客户端的连接:
启动两个memcached server
memcached –d –m 500 -l 64.128.191.151 -p 11211 -vv >>/var/www/kelly/test/logs/memcached_$$.log
memcached –d –m 500 -l 64.128.191.151 -p 11212 -vv >>/var/www/kelly/test/logs/memcached_$$.log
perl客户端程序
#!/usr/bin/perl
use Cache::Memcached;
my $memd = new Cache::Memcached {
‘servers’ => [ "64.128.191.15:11211" , "64.128.191.15:11212"],
};
my $val = $memd->get( “my_key” );
if ( $val )
{
print “Value is ‘$val’\n”;
}
# Set a value
$memd->set(“my_key”, “123″);
$memd->disconnect_all();
?运行测试
$ perl test-memcache.pl
$ perl test-memcache.pl
Value is ’123′
可以看到,第一次没有取得my_key,第二次从memcached中得到my_key的值。
同时通过查看日志,可以发现的确存储在两个memcache server中。
这个简单的例子,解释了如何在memcached中存取数据,以及memcache是真正的分布式缓存系统。
当然,这还只是很简单的例子,体现不出memcache的优势,下面将通过一个很具体的例子,给出详细的应用。
3、 memcached在Zorpia的应用
http://www.zorpia.com 是一个网页相册,博客,交友,论坛的大型网站公司。现在已有超过140万活跃使用者遍布美国,香港,东南亚,欧洲,澳洲,亚洲等其它地区。每天的访问量都在增长,已成为全世界排名第五的社会生活关系网。
Memcached也采用了memcached来提高网站的访问速度,并且取得了很好的效果,我在负责zorpia的memcached项目时候积累了一些经验,主要的做法如下:
1) 通过对memcache的perl客户端进行包装,定制自己的客户端。
2) 通过制定符合zorpia规范的hash key命名规范
? ? memcache中需要存储的内容的key均由string组成。
这个string统一由一个memcache.pm的subroutine来实现。(假设这个subroutine是 get_key() )
? ? memcache中存放两种形式的数据
(1) result of SQL query :
(2) 普通变量(variable)
这两种数据的key的组合方式是不相同的,由get_key进行判断和完成
? ? 关于get_key 和 naming rule
get_key subroutine完成所有memcache key的命名,naming rule也是在它里边体现:
(1)输入参数 -- hash结构,里边定义了当前需要存放的数据的信息
结构
(2)返回值 -- string,返回数据的key_name
?必须确定 get_key 的传入hash的结构,
hash中主要有两个元素
type — 定义当前数据结构的类型 ,有 ‘var’ , ‘sql’两种值
object — 存放当前数据结构的详细信息,
当 type eq ‘var’时,object表示变量的名字,该名字由程序员指定
当 type eq ‘sql’时,object包含所存放sql的主要基本信息,hash结构,也由程序员按照规则制定
## 当variable 数据类型,比较简单
$var_hash = {
type => ‘var’, ## var表示当前类型是 variable
object => ‘language’, ## language代表variable的名字
};
生成的key是Zorpia::var| language
## sql 数据
比如select first_name from user where user_id =2那么hash为
$sql_hash = {
type => ‘sql’,
object => {
table => {table2=>”user”,}, ## sql 查询的表
column => {column1=>”first_name”,}, ## sql所要查询的column
condition => { user_id =>”2″,}, ## sql条件
},
};
生成的key是Zorpia::sql|user|first_name| user_id =2
get_key subroutine必须对传入hash进行判断,对不同类型的数据按照不同的方式组合,形成key,返回给使用者。这个key,必须保证其唯一性:
比如:所有字母小写,一些数组在组合成key之前必须首先排序
? ? get_key函数
sub get_key{
my $hash = shift;
return undef unless $hash && ref $hash eq “HASH”;
my $type = $hash->{type};
my $key_name;
if ($type eq ‘sql’) {
my ($table_key,$column_key,$condition_key);
$table_key=_get_key($hash->{object}->{table});
$column_key=_get_key($hash->{object}->{column});
$condition_key=_get_key($hash->{object}->{condition});
$key_name = join(‘|’,$type,$table_key,$column_key,$condition_key);
#Currently the length limit of a key is set at 250 characters
if (length($key_name)>250)
{
$key_name=substr(0,250,$key_name);
}
}
elsif($type eq ‘var’)
{
$key_name = join(‘|’,$type,$hash->{object});
}
return $key_name;
}
sub _get_key
{
my $hash=shift;
return undef unless $hash && ref $hash eq “HASH”;
my ($t,$ret,$i);
foreach $i (sort keys %$hash)
{
$i=~s/^\s+|\s+$//g;
$hash->{$i}=~s/^\s+|\s+$//g;
push(@$t,lc(“$i=$hash->{$i}”));
}
$ret=join(‘:’,sort { $a cmp $b } @$t);
return $ret;
}
3) 制定需要应用memcached的规则
?经常访问的表user,user_details
?合理设定变量在memcached的生存周期
?将活跃用户的信息预先导入到memcached
?分别在多台机器上启动多个memcached服务
?编写脚本监控memcached服务是否活动
4) User表的具体应用举例
? 在 select时候
先查询memcahce里有没有,有的话,返回;否则从数据库select,在memcache里设置,返回。
my $sql_hash = {
type => ‘sql’,
object => {
table => {table1=>”user”,},
column => {column1=>”user_id”,},
condition => {email=>$user_id,},
},
};
my $key=Zorpia::MemCache::get_key($sql_hash);
my $user_id_by_email=Zorpia::MemCache::get($key);
if(!$user_id_by_email)
{
my $sth;
my $query =”select user_id from user where email=?”;
$sth = $dbh->prepare($query);
$sth->execute($user_id);
my $user1 = $sth->fetchrow_hashref();
$user_id_by_email=$user1->{‘user_id’};
Zorpia::MemCache::set($key,$user_id_by_email,1800);
}
?在 update,insert,delete时候
先在数据库update,insert,delete,在memcache里设置,返回。
&Zorpia::DB::data_entry_no_return($dbh,”user”,”COUNT(*)”,”$account_information_insert_statement user_id=$current_user_id”, “user_id=$current_user_id”);
#add by kelly
my $sql_hash = {
type => ‘sql’,
object => {
table => {table1=>”user”,},
column => {column1=>”user_id”,},
condition => {user_id=>$current_user_id,},
},
};
my $key=Zorpia::MemCache::get_key($sql_hash);
my $query = “SELECT *, user_id AS id FROM user WHERE user_id=?”;
my $sth_memc = $dbh->prepare($query);
$sth_memc->execute($current_user_id);
my $user_memc = $sth_memc->fetchrow_hashref();
&Zorpia::MemCache::set($key,$user_memc,21600);
4、 memcached的应用展望
使用了memcached以后, 我发现以前做过的很多的项目都可以应用它提高效率,包括最近做的“大单追踪”, “数码搜索”等等。当然既然memcahced是分布式的缓存系统,那么它就是建立了一个分布式的平台, 我们可以用它来进行分布式的记数, 因为对于一个键值key我们可以设置它的数值以及有效期在参数中,另外还可以重新设置这个键值的数值。 所以我总结了一下目前可以应用到的地方:
<1>.数据库检索结果的缓存,也就是说可以有机的和数据库结合起来应用,提高效率。
这也是目前memcached用到的最多的地方,比如用于大型网站等。
可以这样来实现:
打开memcached服务器连接
编写sql语句, 同时算出它的一个hash key值
获取这个hash值的memcached保存数据(get)
如果获取的这个hash值的数据存在。返回
否则连接数据库查找
把这个查找结果保存在memcached中(set),可以设置有效期
返回查找结果
<2>.分布式计算
<3>.分布式共享数据
总之,memcached的机制比较灵活,可以适用于一切需要分布式缓存数据的地方,随着memcached逐渐为人所知,必将在更多的分布式应用领域大放异彩。

【安装Memcache服务器端】
我目前的平台,服务器是Fedora Core 1(内核:2.4.22),客户端是Windows XP SP2,需要安装的就是服务器的Memcached的守护进程和客户端的PHP扩展php_memcache两个东西。现在我分别来讲。
服务器端主要是安装memcache服务器端,目前的最新版本是 memcached-1.2.0 。
下载:http://www.danga.com/memcached/dist/memcached-1.2.0.tar.gz
另外,Memcache用到了libevent这个库用于Socket的处理,所以还需要安装libevent,libevent的最新版本是libevent-1.2。(如果你的系统已经安装了libevent,可以不用安装)
官网:http://www.monkey.org/~provos/libevent/
下载:http://www.monkey.org/~provos/libevent-1.2.tar.gz
我分别把两个东东下载回来,放到 /tmp 目录下:
# cd /tmp
# wget http://www.danga.com/memcached/dist/memcached-1.2.0.tar.gz
# wget http://www.monkey.org/~provos/libevent-1.2.tar.gz
先安装libevent:
# tar zxvf libevent-1.2.tar.gz
# cd libevent-1.2
# ./configure –prefix=/usr
# make
# make install
然后看看我们的libevent是否安装成功:
# ls -al /usr/lib | grep libevent
lrwxrwxrwx 1 root root 21 11?? 12 17:38 libevent-1.2.so.1 -> libevent-1.2.so.1.0.3
-rwxr-xr-x 1 root root 263546 11?? 12 17:38 libevent-1.2.so.1.0.3
-rw-r–r– 1 root root 454156 11?? 12 17:38 libevent.a
-rwxr-xr-x 1 root root 811 11?? 12 17:38 libevent.la
lrwxrwxrwx 1 root root 21 11?? 12 17:38 libevent.so -> libevent-1.2.so.1.0.3
还不错,都安装上了,再来安装memcache,同时需要安装中指定libevent的安装位置:
# cd /tmp
# tar zxvf memcached-1.2.0.tar.gz
# cd memcached-1.2.0
# ./configure –with-libevent=/usr
# make
# make install
如果中间出现报错,请仔细检查错误信息,按照错误信息来配置或者增加相应的库或者路径。
安装完成后会把memcached放到 /usr/local/bin/memcached ,我们看以下是否安装了:
# ls -al /usr/local/bin/mem*
-rwxr-xr-x 1 root root 137986 11?? 12 17:39 /usr/local/bin/memcached
-rwxr-xr-x 1 root root 140179 11?? 12 17:39 /usr/local/bin/memcached-debug
恩,安装完成了,现在我们看以下memcache的帮助:
# /usr/local/bin/memecached -h
memcached 1.2.0
-p port number to listen on
-s unix socket path to listen on (disables network support)
-l interface to listen on, default is INDRR_ANY
-d run as a daemon
-r maximize core file limit
-u assume identity of (only when run as root)
-m max memory to use for items in megabytes, default is 64 MB
-M return error on memory exhausted (rather than removing items)
-c max simultaneous connections, default is 1024
-k lock down all paged memory
-v verbose (print errors/warnings while in event loop)
-vv very verbose (also print client commands/reponses)
-h print this help and exit
-i print memcached and libevent license
-b run a managed instanced (mnemonic: buckets)
-P save PID in , only used with -d option
-f chunk size growth factor, default 1.25
-n minimum space allocated for key+value+flags, default 48
参数不算多,我们来启动一个Memcache的服务器端:
# /usr/local/bin/memcached -d -m 256 -u root -l 192.168.1.5 -p 11210 -c 256 -P /data/memcached/memcached.pid
开机时自动开启memcached:/etc/rc.d文件夹下的rc.local文件中加入
/usr/local/bin/memcached -d -m 256 -u root -l 192.168.1.6 -p 11210 -c 256 -P /data/memcached/memcached.pid
-d 选项是启动一个守护进程,-m是分配给Memcache使用的内存数量,单位是MB,我这里是10MB,-u是运行Memcache的用户,我这里是 root,-l是监听的服务器IP地址,如果有多个地址的话,我这里指定了服务器的IP地址192.168.0.200,-p是设置Memcache监听的端口,我这里设置了12000,最好是1024以上的端口,-c选项是最大运行的并发连接数,默认是1024,我这里设置了256,按照你服务器的负载量来设定,-P是设置保存Memcache的pid文件,我这里是保存在 /tmp/memcached.pid,如果要结束Memcache进程,执行:
# kill `cat /tmp/memcached.pid`

也可以启动多个守护进程,不过端口不能重复。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Linux 下 Memcached 缓存服务器安装配置 的相关文章

  • CentOS 上 PHP 7 的 Memcache 扩展安装失败

    我正在尝试将相当大的 PHP 5 3 代码库升级到 PHP 7 它托管在 CentOS 6 5 上 因此我想将其保留在该操作系统上 我目前正在一个原始 Vagrant 机器上进行此操作 我已成功安装 PHP 7 以及除 Memcache 之
  • 扬帆证券揭秘股市术语:股票护盘是什么意思?

    股票护盘便是指对盘口进行维护 防止股价大幅跌落 一般当股价跌到一个相对低的位置时 主力会买入股票拉升股价 阻止股价继续跌落 主力护盘首要是因为股票继续跌落可能会跌破主力资金的成本线 主力为了防止呈现严重的亏损 一起为了后期能够轻松地抬升股价
  • JMeter - 使用 beanshell 通过 telnet 执行命令

    我正在尝试在beanshell中编写一个jmeter采样器来执行memcached telnet接口命令 特别是flush all 我需要它在每次测试后清除缓存 因为它会导致快速连续的测试失败 我有以下代码 import org apach
  • ESP10B 锁定连接器

    ESP10B 锁定连接器 ESP10B 电机新增内容包括双极型号标准 NEMA 尺寸 17 23 和 34 的步进电机现在包括输出扭矩范围从 61 盎司英寸到 1291 盎司英寸的双极型号 该电机配有带锁定连接器的尾缆 可轻松连接 每转可步
  • 致命错误:在 /my/path 中找不到类“Memcached”

    当我尝试时 mc new Memcached I get Fatal error Class Memcached not found in my path phpinfo 表示 etc php5 apache2 conf d 20 memc
  • 如何使用 Python memcached 检查 Django 缓存的内容?

    工具版本 Python 2 6 5 姜戈1 3 1 内存缓存 1 4 10 python memcached 1 48 Memcached 当前正在运行 ps ef grep memcache nobody 2993 1 0 16 46 0
  • Memcache 打开后 Magento 会话消失

    我们遇到一个问题 当我们启用 memcache 在 nginx Web 服务器上 时 会话会从 Magento 1 10 中随机消失 我们在 Magento 中设置 cookie 过期时间似乎并不重要 由于某种原因 会话在一小时内的任何随机
  • Django 上的 memcache 不工作

    我有一个竞争条件Celery 受此启发 http ask github io celery cookbook tasks html ensuring a task is only execulated one at a time http
  • 为什么memcached不能跨节点同步

    在memcached概述中here http code google com p memcached wiki NewOverview It says Memcached servers are generally unaware of e
  • Memcached 使用超过最大内存

    我在 memcache 上安装了一个安装程序 我想在生产环境中使用它 但是当我运行了一些测试时 似乎 memcache 不会释放内存 即使它用完了所有分配的内存 我也登录了并运行了flush all命令 但对象仍在缓存中 这是一些测试的输出
  • PHP、Memcached 可从命令行运行,但不能从 Web 运行

    我在 Centos 6 4 上安装了 PHP 5 3 3memcached so扩展名 httpd 运行版本为 2 2 15 26 这是我的index php mc new Memcached mc gt addServer 127 0 0
  • memcached.dll 是否存在?

    Windows 是否存在 memcached 不是 memcache 扩展 我浏览了旧的答案 但没有找到任何东西 它不存在 而且不太可能很快存在 主要问题不是扩展本身 而是 libmemcached 库 该库几乎不能移植到除 Linux 系
  • 从本地开发环境访问ElastiCache memcache实例

    有没有办法从本地开发环境访问缓存节点 尽管可以从 EC2 实例访问相同的缓存节点 我正在使用带有 C 的 Enyim memcache 客户端库 我发现很少有文章说这是不可能的 那么最好的方法应该是什么 我是否需要在本地设置内存缓存以进行开
  • 加速 jQuery AutoComplete(不可避免的长列表)

    今天下午早些时候 我开始了加速 jQuery 自动完成的旅程 并认为开始可能是个好主意内存缓存一切 正如本文所建议的 加快自动完成速度 https stackoverflow com questions 5820741 jquery ui
  • 在 Zend Framework 2 中使用 Memcached 设置 ttl 和命名空间

    据我所知 这似乎是设置 Memcached 并设置 TTL 和命名空间的方法 但它们对缓存没有影响 该密钥没有命名空间前缀 并且过期时间是无限的 MemcachedOptions new Zend Cache Storage Adapter
  • 如何序列化 Jackson 的 JsonNode 对象?

    我正在用 memcached 替换内部缓存系统 但 memcached 客户端无法缓存JsonNode对象 因为它们没有实现Serializable 有什么方法可以实现序列化JsonNode目的 杰克逊提供吗Serializable相当于这
  • 在nodejs服务器的内存中存储

    似乎有很多有前途的软件包 但没有明确建议哪个是最快的 可扩展的 哪个是内存效率更高的 npm 安装memoizee https www npmjs com package memoizee npm 安装内存缓存 https www npmj
  • 从 Django 缓存中删除特定项目?

    我正在使用站点范围的缓存内存缓存 http en wikipedia org wiki Memcached作为后端 当底层数据库对象更改时 我想使缓存中的页面无效 如果页面名称发生更改 那么我将使整个缓存无效 因为它会影响每个页面上的导航
  • PHP 会话锁定并使用 Memcache 存储会话

    我有一个标准的 html 页面 其中有一些 img 标签 每个标签都指向我们服务器上的一个 php 文件 加载 php 文件时 它会在生成图像之前将一些数据保存到会话中 来自每个脚本的会话中的数据随后将在我们的应用程序中的其他脚本中使用 生
  • PHP memcache - 检查池中是否有可用的服务器?

    我有以下代码 cluster local array host gt 192 168 1 1 port gt 11211 weight gt 50 cluster local2 array host gt 192 168 1 2 port

随机推荐

  • 车载测试面试题,进军车企必看

    随着新能源汽车的普及 相关产业也会越来越多 很多车企都开始做 自动驾驶 了 例如 奔驰 宝马 奥迪 沃尔沃 比亚迪等等都已经开始启动 在未来 中国智能网联汽车产业将迎来爆发式增长 今天给大家分享一波车载测试相关面试题 准备进军车企的朋友可以
  • Redis3.0的主从、集群高可用

    1 安装Redis3 0 yum y install cpp binutils glibc glibc kernheaders glibc common glibc devel gcc make gcc c libstdc devel tc
  • 使用Nodejs搭建HTTP服务,并实现公网远程访问Redis数据库「内网穿透」

    文章目录 1 Linux centos8 安装redis数据库 2 配置redis数据库 3 内网穿透 3 1 安装cpolar内网穿透 3 2 创建隧道映射本地端口 4 配置固定TCP端口地址 4 1 保留一个固定tcp地址 4 2 配置
  • AI大模型及算力要求

    AI大模型对算力的要求非常高 需要高性能的硬件设备和分布式训练技术来支持 随着AI技术的不断发展 未来可能会出现更大 更复杂的模型 对算力的要求也将更高 今天和大家分享几个大模型及算力要求 希望对大家有所帮助 北京木奇移动技术有限公司 专业
  • markdown公式编号居右

  • .NET5零基础入门到项目实战(源码+课件),2021年最新版

    本套课程来自朝夕教育 NET5零基础入门到项目实战 源码 课件 课程由Richard老师 朝夕教育 Eleven Clay老师联合主讲 课程为2021年最新版视频课程 共60节 包含课程相关资料源码 共计4 1G 文章底部附下载地址 课程介
  • 优化算法 - Adadelta

    文章目录 Adadelta 1 Adadelta算法 2 代码实现 3 小结 Adadelta Adadelta是AdaGrad的另一种变体 主要区别在于前者减少了学习率适应坐标的数量 此外 广义上Adadelta被称为没有学习率 因为它使
  • pysot环境 win10 cuda10.1、torch

    1 安装anaconda 版本 Anaconda3 2019 07 python 3 7 3 跟踪Python版本对应找到Anaconda3对应版本 参考 anaconda python 版本对应关系 茶佬牛逼 CSDN博客 python3
  • 学生成绩管理系统mysql课程设计_数据库课程设计报告-学生成绩管理系统

    数据库课程设计报告 学生成绩管理系统 引 言 在现代 高科技的飞跃发展 计算机的大量普及 使得人们生活节奏越来越快 因此对教育行业的多元信息进行有效的管理工作 也成为教育行业中的重中之重 目前 学校工作繁杂 资料重多 虽然各类管理信息系统已
  • 导入自定义模块syntaxerror: invalid syntax_乐高机器人

    模块功能讲解 只剩下高级模块和自定义模块未做说明了 今天一起讲完 了解了模块的功能之后 需要通过实际的运用才能知道不同模块的功能差异 下期谈谈几个实际应用的案例 一 高级模块 一 文件读写 这个模块的功能在于将运行过程中产生的数据存储到EV
  • Linux系统安装部署Tomcat(超详细操作演示)

    Tomcat安装部署 Linux 简介 第一步 安装JDK环境 第二步 解压并部署Tomcat 简介 Tomcat 是由 Apache 开发的一个 Servlet 容器 实现了对 Servlet 和 JSP 的支持 并提供了作为Web服务器
  • Django User模型

    Django User模型 用户管理 自定义用户模型 Django自定义验证 引用User模型 视图开发 创建序列器 创建视图 创建路由 用户注册 注册序列化器 注册视图 注册路由 用户登录 登录序列化器 登录视图 登录路由 用户登出 登出
  • yyyy-MM-dd‘T‘HH:mm:ss - 里面的‘T‘是什么意思

    一 原因 今天在编写junit测试的时候发现有个日期一直显示解析失败 如下图 查看具体代码之后发现是日期格式的问题 日期格式是 yyyy MM dd T HH mm ss 失败提示 java text ParseException Unpa
  • 通过地图图片生成可交互的地图

    想起之前帮人做的一个地图功能 没有任何地理坐标数据 需要生成可互动的区县地图 之前echarts可以在线生成地图数据 但是现在因为某些原因 echarts已经不提供这项福利了 以我仅有的一点经验 只能通过canvas读取图片数据生成坐标数据
  • echarts自定义myTool的icon引入图片写法icon: (‘image://‘+require(‘../../assets/icons/svg/add.png‘)),

    toolbox 可视化的工具箱 show true itemSize 15 right 1 iconStyle borderColor 4a9722 feature dataView 数据视图 show true myTool 自定义方法
  • 【自学Python】Python字符串出现次数

    Python字符串出现次数 Python字符串出现次数教程 在开发过程中 很多时候我们有统计单个字符或者 字符串 在另一个字符串中出现次数的需求 在 Python 中 统计字符串出现次数我们使用 count 函数 Python count
  • Java 判断一个集合中是否存在另外一个集合的元素

    java 取交集方法retainAll 有两个集合newCoures和oldCourses 判断这两个集合是否包含相同的对象或元素 可以使用retainAll方法 oldCourses retainAll newCoures 如果存在相同元
  • 如何用大模型解决产业场景实战问题?案例精讲教程来了!

    科技爆炸 大模型赋能千行百业 生成式 AI 正以惊人的势头改变着我们的世界 新的浪潮席卷着全球各个行业 同时 也赋予企业前所未有的创新力量 大模型通过海量数据和复杂算法 刻画出AI世界的精妙法则 让企业能够借助大模型 解决一系列问题 因此
  • 【java毕业设计】基于Spring Boot+mysql的小区物业管理系统设计与实现(程序源码)-小区物业管理系统

    基于Spring Boot mysql的小区物业管理系统设计与实现 程序源码 毕业论文 大家好 今天给大家介绍基于Spring Boot mysql的小区物业管理系统设计与实现 本论文只截取部分文章重点 文章末尾附有本毕业设计完整源码及论文
  • Linux 下 Memcached 缓存服务器安装配置

    安装Memcache服务器端 我目前的平台 服务器是CentOS 5 4 内核 2 6 164 客户端是Windows XP SP2 需要安装的就是服务器的Memcached的守护进程和客户端的PHP扩展php memcache两个东西 现