有个地方不明白
老师一直强调memcached 的分布式算法是基于客户端的,服务器之间互相不通信,什么叫基于客户端的?不是很明白原理,请老师说清楚些,还有设置的八个缓存,是随机分配到服务器池中的服务器里吗?是根据权重的几率来的吗?
0
收起
正在回答
3回答
您好,客户端或称为用户端,是指与服务器相对应,为客户提供本地服务的程序。基于客户端则可以理解为基于用户。嗯,是的,随机分配根据权重。
token每次登陆获取的都是不同的值,所以在刷新后获取的值不同。祝学习愉快!
雨之赞歌
2019-06-05 12:01:03
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | <?php //此时如果这里的多个实例都传参为相同的名字,那么它们的服务器池会共享 $cache = new Memcached(); //重置服务器地址池 //$cache->resetServerList(); if (! $cache ->getServerList()){ //添加服务器连接地址(只是添加,用到的时候才会真正的连接) $cache ->addServers( array ( [ '192.168.2.128' ,11211,60], //权重,对应服务器池中的权重,服务器在操作时被选中的概率 [ '192.168.2.128' ,11311,40], ) ); } //得到当前服务器池中的服务器地址 $serverList = $cache ->getServerList(); //添加多条缓存 $cache ->setMulti( array ( 'k1' => 'v1' , 'k2' => 'v2' , 'k3' => 'v3' , 'k4' => 'v4' , 'k5' => 'v5' , ),time()+800 ); $cache ->set( 'mofei' , '10' ,time()+900); $result = $cache ->get( 'mofei' ,null,Memcached::GET_EXTENDED); print_r( $result ); |
这是我的代码,每次刷新页面 cas 都会变,但是老师的不会变,我是memcached 3.1 版本
PHP常用技术与ThinkPHP5框架开发
- 参与学习 人
- 提交作业 225 份
- 解答问题 3372 个
掌握用PHP开发互联网网站的必备功能,掌握当下主流的Linux系统开发,并熟练使用热门框架ThinkPhp开发电商团购项目,是通向PHP工程师必经之路。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧