为什么80%的码农都做不了架构师?>>>   

srcache_nginx模块相关参数介绍,可以参见 《memc_nginx+srcache_nginx+memcached构建透明的动态页面缓存》。 redis是一种高效的key-value存储。 下面举一例应用,看配置:

upstream redis {server 127.0.0.1:6380;keepalive 512;
}server {listen       80 backlog=1024 default;server_name  www.ttlsa.com;index index.html index.htm index.php;root  /data/wwwroot/www.ttlsa.com/webroot;location / {set $flag 0;if ($uri ~ /thumb/[0-9]+_160.jpg$){set $flag "${flag}1";}if ($arg_unitid = 42012){set $flag "${flag}1";}if (!-e $request_filename) {rewrite ^/(.*)$ /index.php?kohana_uri=$1 last;}}location ~ .*\.php?$ {srcache_store_private on;srcache_methods GET;srcache_response_cache_control off;if ($flag = "011"){set $key $request_uri;set_escape_uri $escaped_key $key;srcache_fetch GET /redis $key;srcache_default_expire 172800;srcache_store PUT /redis2 key=$escaped_key&exptime=$srcache_expire;add_header X-flag $flag;add_header X-Cached-From $srcache_fetch_status;add_header X-Cached-Store $srcache_store_status;add_header X-Key $key;set_md5 $md5key $key;add_header X-md5-key $md5key;add_header X-Query_String $query_string;add_header X-expire $srcache_expire;}    include fastcgi_params;fastcgi_pass  127.0.0.1:10080;fastcgi_index index.php;fastcgi_connect_timeout 300;fastcgi_send_timeout 300;fastcgi_read_timeout 300;fastcgi_buffer_size 128k;fastcgi_buffers 4 256k;fastcgi_busy_buffers_size 256k;fastcgi_temp_file_write_size 256k;fastcgi_intercept_errors on;fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;}location = /redis {internal;set_md5 $redis_key $args;redis_pass redis;}location = /redis2 {internal;set_unescape_uri $exptime $arg_exptime;set_unescape_uri $key $arg_key;set_md5 $key;redis2_query set $key $echo_request_body;redis2_query expire $key $exptime;redis2_pass redis;}
}

测试: redis实例下: 可以记录下日志来测试加缓存前后的耗时。日志格式如下:

log_format srcache_log '$remote_addr - $remote_user [$time_local] "$request" ''"$status" $body_bytes_sent $request_time $bytes_sent $request_length ''[$upstream_response_time] [$srcache_fetch_status] [$srcache_store_status] [$srcache_expire]';

转载请注明来自 运维生存时间: http://www.ttlsa.com/html/3952.html

转载于:https://my.oschina.net/766/blog/210855

srcache_nginx redis 构建缓存系统应用一例相关推荐

  1. Memcached和Redis数据缓存系统

    1.1 Memcached介绍 Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提供动态.数据库驱 ...

  2. Memcached Redis构建缓存服务器

    一.Memcached介绍 RDBMS即关系数据库管理系统(Relational Database Management System) 许多Web应用都将数据保存到 RDBMS中,应用服务器从中读取 ...

  3. Redis内存缓存系统入门

    网站:http://redis.io/ key-value cache and store    data structure server 1. 服务器端 1.1 安装 下载安装包:http://r ...

  4. memc_nginx+srcache_nginx+memcached构建透明的动态页面缓存

    为什么80%的码农都做不了架构师?>>>    在上一节< nginx+memcached构建页面缓存应用> http://www.ttlsa.com/html/2418 ...

  5. memcacheredis构建缓存服务器

    memcache&redis构建缓存服务器 前言 Memcached Redis Redis持久化 Redis主从集群 Redis哨兵模式 前言 学习来源:https://www.bilibi ...

  6. Flume+Kafka+Storm+Redis构建大数据实时处理系统:实时统计网站PV、UV+展示

    http://blog.51cto.com/xpleaf/2104160?cid=704690 1 大数据处理的常用方法 前面在我的另一篇文章中<大数据采集.清洗.处理:使用MapReduce进 ...

  7. 一款暴涨的全新缓存系统,让 Redis 气急败坏回击

    回击就代表输了?! 今年年中,一位前谷歌.前亚马逊的工程师推出了他创作的开源内存数据缓存系统 Dragonfly,用 C/C++ 编写,基于 BSL 许可(Business Source Licens ...

  8. Memcache,Redis,MongoDB(数据缓存系统)方案对比与分析

    一.问题:     数据库表数据量极大(千万条),要求让服务器更加快速地响应用户的需求. 二.解决方案:      1.通过高速服务器Cache缓存数据库数据      2.内存数据库   (这里仅从 ...

  9. 分布式缓存系统Redis原理解析

    Redis作为内存数据库已经广泛应用于大数据领域,已经成为分布式架构下的基础组件.本文主要介绍了Redis内部的实现原理包括IO模型.内存管理.数据持久化等以及三种集群架构,旨在了解其中的实现机制. ...

最新文章

  1. 【转载】笛卡尔转极坐标
  2. Android开发之旅:组件生命周期(二)
  3. java正则表示过滤汉字,Java正则表达式过滤汉字
  4. curl 慢 不稳定_Node.js VM 不完全指北
  5. 用python操作mysql数据库(之批量插入数据)
  6. 堆栈的初始化,主要是为ss和SP赋初值
  7. python处理金融数据_python-金融数据处理demo
  8. Fisher准则一维聚类
  9. python提取表里数据_使用python解析/提取表数据
  10. UNIX环境高级编程——第一个程序
  11. db2exc_971_WIN_x86,db2数据库下载,不是官方下载,直接可下
  12. iphone如何删除“不可删除”的描述文件?(桌面快捷方式web clib)
  13. MyBatis 报错The error may exist in…….xml
  14. 局域网中的通信子网和资源子网
  15. 计算机usb接口失灵,电脑usb接口全部失灵
  16. Java + OpenCV 实现图片年龄识别(JavaCV)
  17. web测试-WEB常用测试用例集
  18. Python爬虫-字体反爬-猫眼国内票房榜
  19. SuperPoint学习训练纪录 无训练版与带训练版本(一)
  20. 用python写爬虫(一)初识爬虫

热门文章

  1. 【VS开发】【电子电路技术】RJ45以太网传输线研究
  2. BZOJ 1176: [Balkan2007]Mokia( CDQ分治 + 树状数组 )
  3. SLAM学习,小白入门到殿堂级大牛资料整理
  4. SLAM前端中的视觉里程计和回环检测
  5. OpenCV 【十四】改变图像的对比度和亮度高度关联章节:OpenCV 【十】——Gamma校正 ——图像灰度变化
  6. YSLOW法则中,为什么yahoo推荐用GET代替POST?
  7. 内嵌IE网页窗口中消除IE默认脚本设置影响的方法
  8. 激活函数之logistic sigmoid函数介绍及C++实现
  9. 【SVN】svn“E155017工作副本的参考文件损坏、E200014文件校验和不匹配”的解决方法
  10. git 换行问题_后端必备的 Git 分支开发规范指南