Windows 7 下的Memcache 使用:

Windows 7 下的Memcache安装:

 

1. 下载memcache的windows稳定版,解压放某个盘下面,比如在c:\memcached

2. 在终端(也即cmd命令界面)下输入 ‘c:\memcached\memcached.exe -d install’ 安装

3. 在服务中 登录中使用 Administrator 身份 否则会启动失败

4. 再输入: ‘c:\memcached\memcached.exe -d start’ 启动。

 

 

memcached for windows 修改端口和最大内存 :

 

于是就想到直接修改windows服务的启动参数,操作如下,打开注册表,找到:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\memcached Server
其中的ImagePath项的值为:"c:\memcached\memcached.exe" -d runservice
改成:"c:\memcached\memcached.exe" -p 12345 -m 128 -d runservice

保存后重新启动memcached服务,然后在命令行中输入netstat -n -a 

 

 memcached  基础

------------------------------------------适用于
用户信息seesion【hash(用户ID)】
分类及产品,最热贴,最新贴select sql语句【hash(sql),并实时更新】



------------------------------------------理解
MEMCACHE一个不足就是一重启服务器,数据将会丢失!

为什么会有Memcache和memcached两种名称?
其实Memcache是这个项目的名称,而memcached是它服务器端的主程序文件名,知道我的意思了把~~~~。一个是项目名称,一个是主程序文件名

,在网上看到了很多人不明白,于是混用了


.Web Server(Lighttpd、Nginx据说都比Apache效率高好多,大家可以试用下)对CPU要求高,对内存要求低;而Memcached Server是对CPU要

求低,对内存要求高,所以可以搭配使用。在对前端的Web Server上安装Memcached Server是可行的。


我考虑的一种简单方法:
后端的数据库操作模块,把所有的Select操作提取出来(update/delete/insert不管),然后把对应的SQL进行相应的hash算法计算得出一个

hash数据key(比如MD5或者SHA),然后把这个key去Memcache中查找数据,如果这个数据不存在,说明还没写入到缓存中,那么从数据库把数

据提取出来,一个是数组类格式,然后把数据在set到Memcache中,key就是这个SQL的hash值,然后相应的设置一个失效时间,比如一个小时,

那么一个小时中的数据都是从缓存中提取的,有效减少数据库的压力。缺点是数据不实时,当数据做了修改以后,无法实时到前端显示,并且

还有可能对内存占用比较大,毕竟每次select出来的数据数量可能比较巨大,这个是需要考虑的因素。

内网访问
最好把两台服务器之间的访问是内网形态的,一般是Web服务器跟Memcache服务器之间。普遍的服务器都是有两块网卡,一块指向互联网,一块

指向内网,那么就让Web服务器通过内网的网卡来访问Memcache服务器,我们Memcache的服务器上启动的时候就监听内网的IP地址和端口,内网

间的访问能够有效阻止其他非法的访问。

 

你可能感兴趣的:(sql,nginx,windows,SQL Server,memcached)