memcache安装,配置和使用

12 篇文章 0 订阅
1 篇文章 0 订阅

1. Memcache介绍

Memcached 是国外社区 网站 LiveJournal  的开发团队开发的 高性能的分布式内存缓存服务器。一般的使用目的是,通过缓存数据库查询结果,减少数据库访问次数,以提高动态 Web应用的速度、提高可扩展性


2. 安装

使用 -d install参数来进行安装

注意:最好关闭360卫士、金山卫士等软件。


在“运行” -->  services.msc  来查看服务


2.1安装过程中可能发生的错误

① 无法安装为系统服务

原因:没有使用管理员权限运行cmd

② 缺少系统文件




3. 命令行操作memcache

 3.1 memcache帮助命令





  -p(端口):  memcache默认端口号 11211,可以使用该参数来指定端口。

  -d

Install :  安装memcache程序为系统服务

Uninstall:  卸载memcache服务

Start:  开启服务

Restart: 重启服务

Stop|shutdown: 关闭服务

 -m: 设置多大的内存用来保存缓存数据,默认是64m大小。


4. Memcache存储数据方式

使用“键-值对”方式,哈希表

Key(键)

Value(值)

id

10001

name

张三丰

age

108

 

和关联数组很像。


5. Memcache常用命令

 5.1 set 设置命令(存)

Set在没有数据条目的时候,是新增;如果有了该条目之后,就是修改。

 

格式: set-----键名----- 是否压缩(0/1)----有效期(s)--- 数据长度回车

--------------值



5.2 get读取命令(取)

格式: get  键名



如果超过有效期后,无法读取该数据


5.3 delete删除命令

格式: delete  键名



5.4 flush_all 清除所有数据命令

格式: flush_all



6. PHP操作memcache

6.1 安装memcache扩展

memcache并不是php内置的功能,需要进行扩展(和GD扩展一样)

1) 下载memcache.dll文件(php_memcache.dll)

2)将php_memcache.dll文件复制到 php/ext目录下

3)修改php.ini的配置文件增加extension=memcache.dll

最后重启apache服务器,配置成功

6.1 php操作memcache

基本使用方式:










 7.memcache存储基本类型

整型、浮点型、字符串、布尔型

php的基本类型可以原型存储,而复杂类型如数组,对象,memcache会先进行序列化,变成类json字符串的形式存入memcache。


8. 实际程序中使用memcache




9. Session共享存储(session存入memcache)

 9.1 为什么session需要存入memcache

$_SESSION[‘uid’]= 1001;

$_SESSION[‘uname’]= ‘zs’;





Session入memcache的原因是能够让session共享到其他系统当中

 9.2 程序实现

① 修改php的配置文件:


指定session保存类型为memcache

修改session.save_handler=memcache


指定memcache服务器的地址和端口号

修改session.save_path=tcp://localhost:11211


代码示例: sessionmemcache


临时修改php配置文件:ini_set();



Session保存到memcache中时,使用sessionid作为键名

key

value

nr5mote3v39hvhd0mf57ol61m6

Deptid=101

Deptname=开发部

 


④ 从memcache中获取session




一般使用的方式

向memcache中存   set()  取get()

Session方式:直接使用$_SESSION预定义数据即可



10.分布式memcache服务器

 10.1 什么是分布式memcache

就是使用多台memcache服务器,来组成一个memcache服务器阵列。

目标是提升memcache的执行效率




10.2 如何使用分布式

1)使用多台服务器,每台都开一个memcache服务。  性能极高,价格昂贵。

2)使用一台服务器,开启不同的端口。(相当于开启了多个memcache服务)。性能较高,价格便宜。

 

使用第二种方式:





在分布式中存取数据: 我们在使用set()方法向分布式memcache中添加数据时,不需要考虑到底是向哪个memcache中增加数据,系统已经内置好了算法。数据会“平均”的分布到这三台服务器当中。


11.TP中使用Memcache

 11.1 session入memcache

 Session操作memcache的类文件:

 路径: ThinkPHP/Library/Think/Session/Driver/memcache.class.php







修改配置文件





11.2 般使用方式

将MySQL中取出的数据,保存到memcache中

 

TP提供了S()方法来进行数据缓存的操作。


S()使用方法:

存: S(键名,,过期时间)

取: S(键名);


修改配置文件:

使用的缓存类型:








  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值