1.memcached: kv结构,存储于内存之中,可减小数据库访问压力,也可做为session服务器使用

(1)常用命令

-u 指定用户    -m 指定内存大小

-d start|restart|stop    -p 指定端口,默认11211

-n 最小分配空间    -f 增长因子,按最小分配空间为      基数计算,默认为1.25倍

-vv 查看具体启动过程

(2)连接memcached

telnet x.x.x.x 11211

quit 退出

查看 stats items

保存 set key flags timeout size

提取 get key

追加 append key flags timeout content_size content,例:

append magedu 0 60 4 .com

加减 incr/decr key num

清空 flush_all

(3)php连接

centos7 php-pecl-memcached

(4)php session服务器

php.ini文件

session.save_handler=memcache

session.save_path="tcp://127.0.0.1:11211?persistent=1 & weight=1 & timeout=1 & retry_interval=15"

2.varnish: 可使用内存或硬盘缓存,可用于前端静态页面图片js的缓     存服务器

(1)连接varnish

varnishadm -s /etc/varnish/secret -T 127.0.0.1:6082

vcl.list 列出配置文件,avrilable可用,active已用

vcl.show confname 查看具体配置文件

vcl.use confname使用配置文件

vcl.load confname filename 加载文件成为配置文件

backend.list

storage.list 缓存类型

(2)基础配置

/etc/varnish/default.vcl

backend default {

.host="x.x.x.x" 被监听主机的ip

.port="80"

}

/etc/varnish/varnish.params

VARNISH_LISTEN_PORT=80

VARNISH_STORAGE="file,/var/lib/varnish/varnis_storage.bin"

硬盘存储,二进制文件,不要去cat,文件可能被破坏

VARNISH_STORAGE="mallc,2048" 内存存储

(3)常用变量

bereq: 有varnish向backend主机发送http请求

bereq.http.HEADERS

bereq.url

bereq.proto 协议版本

bereq.backend

beresp:

beresp.status

beresp.backend.name

beresp.http.HEADERS

beresp.ttl 除去响应时长,剩下ttl生存时长

req: 由backend向varnish主机发送http请求

req.method 4.0请求方法

req.request 3.0请求方法

obj:

obj.hits 命中次数

obj.ttl 对象ttl

server:

server.ip

server.hostname

(4)实例

不让指定页面查缓存

sub vcl_recv {

if(req.url ~"^/test.html$"){

return(pass)

}

}

给头部增加命中提示

sub vcl_deliver {

if(obj.hits>0){

set resp.http.cache="hit"+""+server.ip

}else{

set resp.http.cache="miss"+""+server.ip

}

}

清除页面缓存3.0

sub vcl_hit {

if(req.request == "PURGE"){

purge;

error 404 "not in cache";

}

}

curl -X PURGE http://magedu/test

清除页面缓存4.0

sub vcl_recv {

if(req.method == "PURGE"){

return(purage);

}

}

sub vcl_purge {

return(synth(200,"purged"))

}

curl -X PURGE http://magedu/test

(5)动静分离

backend server1 {

...

}

backend server2 {

...

}

sub vcl_recv {

if(req.url ~ "(?i)\.php$"){

set req.backend_hint=server1;

}eles{

set req.backend_hint=server2;

}

}

(6)负载均衡

import directors;

sub vcl_init {

new bar=directors.round_robin();

bar.add_backend(server1);

bar.add_backend(server2);

}

sub vcl_recv {

set req.backend_hint=bar.backend();

}

转载于:https://blog.51cto.com/longnnight/1969221

linux自学笔记--memcache和varnish缓存服务器相关推荐

  1. php管理varnish,php实现监控varnish缓存服务器的状态,php监控varnish缓存_PHP教程

    php实现监控varnish缓存服务器的状态,php监控varnish缓存 当varnish和网站部署在同一台服务器上的时候,我们不可能随时登录上服务器去查看varnish的命中率,没想到有大神早就写 ...

  2. varnish 缓存php,php实现监控varnish缓存服务器的状态,php监控varnish缓存

    php实现监控varnish缓存服务器的状态,php监控varnish缓存 当varnish和网站部署在同一台服务器上的时候,我们不可能随时登录上服务器去查看varnish的命中率,没想到有大神早就写 ...

  3. Linux自学笔记 | 10 常用命令 - 压缩解压类

    Linux自学笔记 | 10 常用命令 - 压缩解压类 Linux自学笔记 | 01 文件系统和目录结构 Linux自学笔记 | 02 VIM编辑器的安装与使用 Linux自学笔记 | 03 Linu ...

  4. varnish缓存服务器构建疑问

    标题索引 追朔原因 实验分解 抓包分析 追朔原因[此文需要待续] 当下是互联网时代也是CDN缓存时代,缓存可以提供互联网80%流量,因此缓存的构建和提高缓存的命中率是互联网行业必不可少的方式和手段,另 ...

  5. Linux学习笔记(一)(服务器环境搭配 常用命令 文件属性)

    Linux学习笔记(一) 概述 Linux发行版 Linux应用 Linux系统运行级别 远程环境配置 连接服务器 安装宝塔 配置环境 测试 测试连接Tomcat 测试访问网站 测试上传 学习Linu ...

  6. Varnish缓存服务器原理

    http://mp.weixin.qq.com/s?__biz=MzA4Nzc4MjI4MQ==&mid=400762358&idx=1&sn=791c1edf90af4856 ...

  7. linux自学笔记--DNS服务器

    1.DNS正向解析 (1)编辑/etc/named.rfc1912.zones zone "named.magedu.com" IN{ type master; file &quo ...

  8. Linux自学笔记——haproxy

    HAProxy提供高可用性.负载均衡以及基于TCP和HTTP应用的代理,支持虚拟主机,它是免费.快速并且可靠地一套解决方案.HAProxy特别适用于那些负载特大的web站点,这些站点通常又需要会话保持 ...

  9. 测试Varnish缓存服务器与IIS连接数

    测试环境 A服务器:windows2008 B服务器:CentOS+Varnish 不加Varnish的时候直接对IIS进行压力测试,模拟250用户,IIS连接数如下图所示: 前端加一台Varnish ...

最新文章

  1. 植树节特别活动:合种樟子松/华山松/云杉/胡杨
  2. wpf 加载本地html文件,c# – Wpf WebBrowser加载javascript
  3. 【Https异常】This request has been blocked; the content must be served over HTTPS
  4. Android书籍推荐
  5. docker新建Linux虚拟机,RHEL/CentOS 7下创建你的第一个Docker容器
  6. springboot mail插件/JavaMailSenderImpl 发邮件。163网易企业邮箱调用的坑。
  7. Java的Kafka:构建安全,可扩展的消息传递应用程序
  8. 7月份Github上最热门的Java开源项目
  9. 算法设计与分析 上机题Mergesort
  10. 从高级程序员的角度来看,Rust 基础知识
  11. 回转体怎么划分六面体网格_一文了解ANSYS Meshing 高级网格划分技术
  12. 为什么你很努力,进步却很慢?
  13. 安装libvirt管理套件(C/S架构模式,用户管理kvm虚拟机)
  14. 计算机学术会议英语作文,计算机专业资料——重要国际学术会议
  15. Foobar2000的配置及优化
  16. 在线英英词典完整代码
  17. 安装搜狗输入法ubantu18.04
  18. 倾斜摄影三维建模全流程
  19. 中国新能源汽车电机及控制器行业需求态势与十四五方向分析报告2021年版
  20. 【beyong-sms】一款支持多家短信服务商优美的PHP短信发送库

热门文章

  1. python 哪些比赛项目_python能做什么项目
  2. 启动chrome_Chrome开启多线程下载的方法
  3. mysql 用户划表_mysql用户表
  4. 小度智能音响拆解 芯片_不拆不快:小度音箱拆解测评
  5. tomcat中间件的默认端口号_Tomcat下载安装及配置
  6. 函数使用了堆栈的字节超过_Go语言复习笔记——基本语法三之堆栈与字符串应用...
  7. 报错,o.h.engine.jdbc.spi.SqlExceptionHelper   : Unknown column ‘template_name‘ in ‘field list‘
  8. 鸿蒙应用开发培训笔记02:应用开发入门
  9. 大数据学习笔记27:MR案例——多输入源处理成绩
  10. Java案例:装载与发射子弹问题