PHP随笔二之nosql缓存类

== 简介 ==
 memcache : 是一套分布式的高速缓存系统。可用于提升网站的访问速度,对网站访问速度提升效果非常明显。
 
 reids    : redis是一个高性能的key-value数据库。支持的value类型较于memcache会更多。

== 两者的不同 ==
存储方式
 memcache  : 会把数据全存在内存当中,当然断电之后会挂掉,存储数据不能超过内存大小。
 redis     : 既可以把数据存在内存当中,也可以将数据转移到硬盘当中,可以保持数据的持久化。

数据格式
 memcache : 可以存储字符串,数组,图片,文件。
 redis    : 存储类型较于memcache会更多,包括string,list,set,zset,hash

运用场景
 memcache : 如果只是key-value简单的数据存储的话,memcache完全可以胜任,效果也不错,内存使用率更高一点。所以我们一般应用程序的话,用memcache的话
 完全是可以的。
 redis    : 如果对持久化需求或者对数据结构和处理有高级要求的话,可以考虑选择redis。

总结
 无论是memcache还是redis,性能方面都比较优秀,所以没必要过多的关注性能。两者各有各自的长处,在两者的选择上,我个人理解是,根据具体应用去
 选择。memcache比较简单粗暴,如果只是单纯的key-value操作的话, memcache会是个不错的选择,它已经足够可靠安全了,而且,memcache较于redis的内存使
 用率会更高一点。如果需要不只是GET/SET操作的时候而是更多复杂操作的时候,选择redis会更好。

== 查看服务器上的memcache和redis ==
 执行命令查看 ps -aux | grep memcache 和 ps -aux | grep redis
 redis可直接输入命令redis进入操作。

== 使用方式 ==
 经过一番折腾,总算把memcacahe和redis集成为一个较为完整的类
 该类的使用方法可以调用cache基类,也可以直接调用相关类进行使用。

 cache基类 :
 使用方式 : $cacher = Business_CacheHelper_Cache::getInstance('redis');
            $cacher->set('hang', 'zhou', 100);
            $cacher->get('hang');

 memcache类 :
 使用方式 : $memcacheObj = new Business_CacheHelper_Memcache();
              $memcacheObj->set('hang', 'zhou');
              $memcacheObj->get('hang');

 redis类 :
 使用方式 : $redisObj= new Business_CacheHelper_Memcache();
            $redisObj->set('hang', 'zhou');
            $redisObj->get('hang');

 == 代码清单 ==
 Cache类 :
 
<?php
 class Business_CacheHelper_Cache
 {
     /**
      * 缓存连接参数
      * @var string
      * @access protected
      */
     protected $_options = array();
     
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值