memcache小总结
来源:互联网 发布:docker mysql 数据卷 编辑:程序博客网 时间:2024/06/06 01:10
mem服务的数据不是同步, 数据是分布的
把什么数据放入到哪个memcached是由客户端的mem对象决定
当执行addServer的时候,并不是立即去连接mem服务,而是通过计算,hash后才去决定连接哪个mem服务,因此当你大量加入服务器到连接池,没有多余开销
memcache的细节讨论
生命周期
从数据放入mem开始计时,直到时间到了,就销毁, 如果时间为0, 则表示不过期.
memcache的数据被销毁的情况如下:
时间到
重启memcached服务
重启memcached服务所在的机器
delete / flush 销毁数据
如何把session数据放入到memcached服务中.
步骤:
修改php.ini的配置文件
如下:
;[sesson.save_handler 有user|files|memcache]
session.save_handler = memcache
session.save_path = "tcp://127.0.0.1:11211"
测试一把,重启apache
测试ok
<?php
//传统的代码
session_start();
$_SESSION['name']='天龙八部300';
$_SESSION['city']='beijing';
class Dog{
public $name;
}
$dog1=new Dog;
$dog1->name='abcde';
$_SESSION['dog']=$dog1;
//如果session数据入mem,那他一定是以session_id为
//key值进行添加
//取出
$name=$_SESSION['name'];
echo "name=$name";
echo "sessionid=".session_id();
思考,如果管理员,不让我们修改 php.ini 文件,我们如何处理session入memcached这个功能, 我们通过一个函数可以去修改 php.ini 的配置.
代码:
<?php
ini_set("session.save_handler","memcache");
ini_set("session.save_path","tcp://127.0.0.1:9999");
同时你也可以通过 ini_set 去动态的修改对php.ini 的其它设置 。但是他不影响其它php页面,也不会去修改php.ini 文件本身, 只对本页面生效.
memcached vs session比较
memcached 主要的目的是提速 ,因此它是一种无状态的数据.即,数据不和用户绑定.
session数据是和绑定的,因此是一种有状态数据.
memached安全性
如何使用memcached 服务才是安全的.
在windows下通过启用防火墙来保护我们的memcached,原理图:
在linux 也可以使用防火墙.
setup 配置防火墙
iptables -a input -p tcp -s 127.0.0.1 -dport 11211 -j ACCEPT
和memcached技术类似是redis (key/value数据库)
- memcache小总结
- Memcache总结
- memcache总结
- Memcache总结
- Memcache总结
- php操作memcache总结
- Memcache实践总结
- session、cookie、Memcache总结
- Memcache实践总结
- 三 memcache总结
- Memcache工作原理总结
- Memcache应用总结
- memcache的总结
- Memcache学习总结
- Memcache 简单总结
- 学习memcache总结
- memcache基础学习总结
- 【Memcache】常见问题总结
- [MySQL] 概述
- 商业银行加密算法之--计算MAC和PINBLOCK
- Linux进程间通信(二)---管道通信之无名管道及其基础实验
- 熬之滴水穿石:Servlet--Web万物之源(4)
- hdu 1080 Human Gene Functions
- memcache小总结
- 水样清纯的花样年华221
- 什么是长尾关键词193
- iar for arm 下载地址
- 最流行的JavaScript库jQuery不再支持旧版IE
- 如何高效编程?
- 最简单的delphi加载C++dll实例
- 在学习HTML5时,别忘了CSS技术
- 如何写出无法维护的代码?