php写的一个缓存接口demo,兼容redis和memcache

php中文网
发布: 2016-07-25 09:03:54
原创
1310人浏览过
  1. /**

  2. * 工厂方法模式
  3. * -------------
  4. * @author zhangqian
  5. * @version v1.0
  6. */
  7. //缓存接口
  8. interface cache {
  9. public function init($conf);
  10. public function setval($key , $val);
  11. public function getval($key);
  12. public function delval($key);
  13. public function autoincreament($key);
  14. }
  15. //mem
  16. class mymemcache implements cache {
  17. //mymem连接
  18. public function init($conf)
  19. {
  20. echo '初始化mymem';
  21. }
  22. public function setval($key , $val)
  23. {
  24. echo 'mem设置值';
  25. }
  26. public function getval($key)
  27. {
  28. echo 'mem获取值';
  29. }
  30. public function delval($key)
  31. {
  32. echo 'mem删除值';
  33. }
  34. public function autoincreament($key)
  35. {
  36. echo 'mem自增';
  37. }
  38. }
  39. //redis
  40. class rediscache implements cache {
  41. //redis连接
  42. public function init($arr)
  43. {
  44. echo '初始化redis';
  45. }
  46. public function setval($key , $val)
  47. {
  48. echo 'redis设置值';
  49. }
  50. public function getval($key)
  51. {
  52. echo 'redis获取值';
  53. }
  54. public function delval($key)
  55. {
  56. echo 'redis删除值';
  57. }
  58. public function autoincreament($key)
  59. {
  60. echo 'redis自增';
  61. }
  62. }
  63. class cachefactory
  64. {
  65. private static $obj;
  66. private static $type;
  67. private static $conf;
  68. private static $allowtype = array('mymem','redis');
  69. private static function getconfig()
  70. {
  71. //include_once('config.php');加载配置文件 获取缓存的类型 及缓存的配置参数
  72. global $_sc;
  73. self::$type = $_sc['cachetype'];//做空值的判断
  74. self::$conf = $_sc['cacheconf'];//做空值的判断
  75. }
  76. //外部调用创建缓存对象
  77. public static function createoperation(){
  78. self::getconfig();
  79. try
  80. {
  81. $error = '未知的缓存类型';
  82. if(in_array(self::$type , self::$allowtype))
  83. {
  84. $type = self::$type.'cache';
  85. self::$obj = new $type;
  86. self::$obj->init(self::$conf);//连接
  87. }
  88. else
  89. throw new exception($error);
  90. }
  91. catch (exception $e) {
  92. echo 'caught exception: ', $e->getmessage(), "\n";
  93. exit;
  94. }
  95. return self::$obj;
  96. }
  97. }
  98. $_SC = array();

    存了个图
    存了个图

    视频图片解析/字幕/剪辑,视频高清保存/图片源图提取

    存了个图 17
    查看详情 存了个图
  99. $_SC['cachetype'] = 'redis';//mymem
  100. $_SC['cacheconf'] = array();
  101. $cache = cacheFactory::CreateOperation();
  102. $cache->setVal('a',1);
  103. echo '
    ';
  104. $a = $cache->getVal('a');
  105. echo '
    ';
  106. $cache->delVal('a');
  107. ?>
复制代码


PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号