精华内容
下载资源
问答
  • Windows Redis缓存服务器 密码验证解释

    千次阅读 2017-02-10 14:23:03
    ServiceStack.Redis 是一个C#访问Redis的客户端,可以说可以通过...但是今天我在主Redis 实例设置了访问密码,而在slave 上没有设置,我通过一个缓存工厂来获取连接。在redisClient实例化可以直接设置密码。

    serviceStack.Redis 在PooledRedisClientManager 中设置密码

    ServiceStack.Redis 是一个C#访问Redis的客户端,可以说可以通过它实现所有需要Redis-Cli的功能。但是今天我在主Redis 实例设置了访问密码,而在slave 上没有设置,我通过一个缓存工厂来获取连接。在redisClient实例化可以直接设置密码。

    复制代码
     1  /// <summary>
     2     /// 缓存客户端管理器工厂
     3     /// </summary>
     4     public class PoolManagerFactory
     5     {
     6         private static PooledRedisClientManager Manager = null;
     7         public static PooledRedisClientManager CreateManager(string[] readWriteHosts, string[] readOnlyHosts, int initialDB = 0)
     8         {
     9             if (Manager == null)
    10             {
    11                 Manager = new PooledRedisClientManager(readWriteHosts, readOnlyHosts, new RedisClientManagerConfig()
    12                 {
    13                     MaxWritePoolSize = 5,
    14                     MaxReadPoolSize = 5,
    15                     AutoStart = true
    16                 }, initialDB, 50, 5);
    17             }
    18             return Manager;
    19         }
    20 
    21     }
    复制代码

     

    我一直认为readWriteHosts数组中只能输入ip:port来代表一个redis 实例的连接,但是如何把密码加在里面呢?想不到如何实现,只能下载了源代码查看,原来这个实现是通过分隔字符串来实现,

    复制代码
     1     /// <summary>
     2         /// IP地址中可以加入auth验证   password@ip:port
     3         /// </summary>
     4         /// <param name="hosts"></param>
     5         /// <returns></returns>
     6         public static List<RedisEndpoint> ToRedisEndPoints(this IEnumerable<string> hosts)
     7         {
     8             if (hosts == null) return new List<RedisEndpoint>();
     9             //redis终结点的列表
    10             var redisEndpoints = new List<RedisEndpoint>();
    11             foreach (var host in hosts)
    12             {
    13                 RedisEndpoint endpoint;
    14                 string[] hostParts;
    15                 if (host.Contains("@"))
    16                 {
    17                     hostParts = host.SplitOnLast('@');
    18                     var password = hostParts[0];
    19                     hostParts = hostParts[1].Split(':');
    20                     endpoint = GetRedisEndPoint(hostParts);
    21                     endpoint.Password = password;
    22                 }
    23                 else
    24                 {
    25                     hostParts = host.Split(':');
    26                     endpoint = GetRedisEndPoint(hostParts);
    27                 }
    28                 redisEndpoints.Add(endpoint);
    29             }
    30             return redisEndpoints;
    31         }
    复制代码

    在ip:port前面加上@用来表示密码,比如password@ip:port    ,现在才知道能看到源码的程序是多么的幸福的一件事。开源伟大。

    master:设置密码:config set requirepass password

     

    slave 指定master密码:config set masterauth password   就可以实现在master设置密码,并且不需要重启redis实例 非常方便,但是这种方式重启后失效。

    展开全文
  • 浏览器缓存cookie与服务器缓存

    千次阅读 2016-09-30 20:39:02
    之前对缓存都是一知半解的,都是基于理论之上没有正整实际动手验证过,今天抽时间终于把缓存重新理了一片 1、 设置js 、css缓存  http头部中设置expires,Cache-Control(具体怎么设置这里就不细说),IIS服务器上设置...

    之前对缓存都是一知半解的,都是基于理论之上没有正整实际动手验证过,今天抽时间终于把缓存重新理了一片

    1、 设置js 、css缓

          http头部中设置expires,Cache-Control(具体怎么设置这里就不细说),IIS服务器上设置过期时间

    2、浏览器中如何设置缓存document.cookie,  通过key/value的形式,对缓存的操作可参照 

    http://www.cnblogs.com/shaohz2014/p/3533886.html

    var date =new Date().getTime()+10*24*3600*1000;
        document.cookie="userId=828 ";
        document.cookie="userName="+encodeURIComponent(" 重庆 ")+';'+"expires="+new Date(date).toGMTString();


    
    注意: A、 编码问题,在cookie的名或值中不能使用分号(;)、逗号(,)、等号(=)以及空格,所有需要编码,之前的escape()编码已经过时,推荐encodeURI()
    

           B、每个expires只是针对当前的cookie 生效,如上面的只针对key为userName的cookie有效

    每次发送请求的时候都会在request头部加入cookie,如图:

    在js中是无法获取cookie中expires失效时间,只有通过建立虚拟字段存储在cookie中,

    3、浏览器encodeURI编码之后的cookie在服务器中获取,java.net.URLDecoder.decode()解码

      request.getCookies(),返回的是一个cookie数组,

                    Cookie [] cookie = request.getCookies();
    		for(int i=0;i<cookie.length;i++){
    			String key = cookie[i].getName();
    			String value = cookie[i].getValue();
    			System.out.println(key+" "+java.net.URLDecoder.decode(value,"utf-8"));
    		}

    4、服务器设置cookie


    服务器中设置的cookie,也会存在于浏览器中,在下次请求的时候也会带在这个cookie,当然必须在同一域名之下。




    图中第一result存在于 request 中,但它是由于服务器中设置cookie后存在于每次请求的头部中,而第二个result存在于response中,它也是来至于服务器中。


    展开全文
  • BIND 从服务器缓存服务器配置

    千次阅读 2012-12-01 02:36:59
    生产环境只有一个主服务器往往是不够的 一个域的从服务器通常是为了备份及负载均衡使用 所有这些域的信息都有域的主服务器控制 域从服务器没有权限创建或修改域的zone文件,而是从域主服务器上抓取所属域的zone...

             生产环境只有一个主服务器往往是不够的
             一个域的从服务器通常是为了备份及负载均衡使用
             所有这些域的信息都有域的主服务器控制
             域从服务器没有权限创建或修改域的zone文件,而是从域主服务器上抓取所属域的zone文件
            
             域从服务器的配置步骤:
            
               ① 在BIND的主配置文件中添加该域的定义
               ② 启动BIND服务或使BIND刷新配置
               ③ 查看域的zone文件是否正常抓取到/var/named/slaves目录中
               ④ 使用host或者dig命令检测域信息是否正常

               主从DNS服务器简要拓补图:

                                            

                                       

               ㈠ --准备
               
              [root@localhost ~]# service named start
              启动 named:                                               [确定]
              [root@localhost ~]# iptables -F --检查防火墙设置
              [root@localhost ~]# getenforce  --检查selinux设置
              Disabled
              [root@localhost etc]# pwd
              /var/named/chroot/etc
              [root@localhost etc]# vim named.conf
              --删除下面这条监听器配置 
                      listen-on port 53 {127.0.0.1;};
              --否则,BIND只为本机服务,但Slave是从外网连进来的
             
             
               ㈡ --登入从服务器
               --在BIND的主配置文件中添加从域example.com的配置信息:
                 配置文件位置:
                 /var/named/chroot/etc/named.conf
                 在主配置文件中添加一行域的zone定义:

    zone "example.com"{
            type slave;
            masters {192.168.1.110; };  --分号和大括号之间一定要有个空格!
            file "slaves/example.com.zone";
    };


               ㈢ --检查named对slaves文件的读写权限
                 slaves文件位置:
                 /var/named/chroot/var/named
                 所属用户及所属组最好都改成named
                
              [root@localhost named]# chown named slaves/
              [root@localhost named]# ls -l
              总计 44
              ..
              ..
              drwxrwx--- 2 named named 4096 12-01 01:33 slaves
             
               ㈣ --重启BIND服务
             
              [root@localhost etc]# service named restart
              停止 named:                                               [确定]
              启动 named:                                               [确定]
              
               ㈤ --查看zone文件是否正常抓取下来
                 文件位置:
                 /var/named/chroot/var/named/slaves
              [root@localhost slaves]# ls
              example.com.zone  my.ddns.internal.zone.db  my.slave.internal.zone.db
             
               ㈥ --验证从服务器BIND是否能够正常运行
                  --通过将本机的DNS配置指向本机来测试
              
              [root@localhost slaves]# vim /etc/resolv.conf
              nameserver  127.0.0.1
              [root@localhost slaves]# host
    www.example.com
              www.example.com has address 192.168.1.130
                可见,从服务器BIND可以正常服务
                至此,从服务器的搭建完成

     

     

              在一个局域网中可能有很多的主机要访问互联网,这时就可以在局域网的出口处配置缓存服务器,加速网络访问
              也可以为缓存服务器配置一个上游DNS服务器地址
              也就是,当缓存服务器无法完成解析或者想让局域网内的用户可以访问到除了指定DNS配置之外的额外DNS服务器的情况下
              就会给客户端返回一个更稳定或者信息更全的另一个DNS地址
              客户端就可以通过这个DNS继续完成查询

              在Master端配置
           
              文件位置:
              /var/named/chroot/etc

    [root@localhost etc]# vim named.conf
    options
    {
            
            directory "/var/named";
            forwarders {222.1.33.6; }; 
    
    };


                如果我们在named.conf里面指定forward only
                则缓存服务器便不再进行任何的解析查询
                直接把需求转发到上游DNS服务器

    options
    {
            
            directory "/var/named";
            forwarders {222.1.33.6; };
            forward only; 
    
    };


     

    展开全文
  • 服务器网页缓存的深入分析

    千次阅读 2008-03-16 23:07:00
    前两个用来控制缓存的失效日期,后两个用来验证网页的有效性。要注意的是, HTTP/1.0有一个功能比较弱的缓存控制机制:Pragma,使用HTTP/1.0的缓存将忽略Expires和Cache-Control头。我们 这里以Apache2.0服务器

    Expires、Cache-Control、Last-Modified、ETag是RFC 2616(HTTP/1.1)协议中和网页缓存相关的几个字段。前两个用来控制缓存的失效日期,后两个用来验证网页的有效性。要注意的是, HTTP/1.0有一个功能比较弱的缓存控制机制:Pragma,使用HTTP/1.0的缓存将忽略Expires和Cache-Control头。我们 这里以Apache2.0服务器为例,只讨论HTTP/1.1协议。Expires

    Expires字段声明了一个网页或URL地址不再被浏览器缓存的时间,一旦超过了这个时间,浏览器都应该联系原始服务器。RFC告诉我们:“由于推断的失效时间也许会降低语义透明度,应该被谨慎使用,同时我们鼓励原始服务器尽可能提供确切的失效时间。”

    对于一般的纯静态页面,如html、gif、jpg、css、js,默认安装的Apache服务器,不会在响应头添加这个字段。Firefox浏览器接受 到相应后,如果发现没有Expires字段,浏览器根据文件的类型和“Last-Modified”字段来推断出一个合适的失效时间,并存储在客户端。推 测出的时间一般是接受到响应时间后的三天左右。

    Apache的expires_module模块可以在Http响应头部自动加上Expires字段。在Apache的httpd.conf文件中进行如下配置:

    #启用expires_module模块
    LoadModule expires_module modules/mod_expires.so
    # 启用有效期控制
    ExpiresActive On
    # GIF有效期为1个月
    ExpiresByType image/gif A2592000
    # HTML文档的有效期是最后修改时刻后的一星期
    ExpiresByType text/html M604800
    #以下的含义类似
    ExpiresByType text/css “now plus 2 month”
    ExpiresByType text/js “now plus 2 day”
    ExpiresByType image/jpeg “access plus 2 month”
    ExpiresByType image/bmp “access plus 2 month”
    ExpiresByType image/x-icon “access plus 2 month”
    ExpiresByType image/png “access plus 2 month”

    对于动态页面,如果在页面内部没有通过函数强制加上Expires,例如header(”Expires: ” . gmdate(”D, d M Y H:i:s”) . ” GMT”),Apache服务器会把Wed, 11 Jan 1984 05:00:00 GMT作为Expires字段内容,返回给浏览器。即认为动态页面总是失效的。而浏览器仍然会保存已经失效的动态页面。

    可以发现Firefox浏览器总是缓存所有页面,不管失效、不失效还是没有声明失效时间。即使缓存中声明了一个网页的实效日期是1970-01 - 01 08:00:00,浏览器仍然会发送该文件在缓存中的Last-Modified和ETag字段。如果在服务器端验证通过,返回304状态,浏览器就还会 使用此缓存。

    Cache-Control

    Cache-Control字段中可以声明多些元素,例如no-cache, must-revalidate, max-age=0等。这些元素用来指明页面被缓存最大时限,如何被缓存的,如何被转换到另一个不同的媒介,以及如何被存放在持久媒介中的。但是任何一个 Cache-Control指令都不能保证隐私性或者数据的安全性。“private”和“no-store”指令可以为隐私性和安全性方面提供一些帮 助,但是他们并不能用于替代身

    份验证和加密。

    Apache的mod_cern_meta模块允许文件级Http响应头部的控制,同时它也可以配置Cache-Control头(或任何其他头)。响应 头文件是放在原始目录的子目录中,根据原始文件名所命名的一个文件。具体用法请参阅Apache的官方网站。其中Cache-Control : max-age表示失效日期。如果没有启动mod_cern_meta模块,Apache服务器会把Expires字段中的日期换算成以秒为单位的一个 delta值,赋值给max-age。如果启动mod_cern_meta模块,并且配置了max-age值,Apache会将这个覆盖Expires字 段。同时,max-age隐含了Canche-Control: public。这样浏览器接受到的Cache-Control : max-age和Expires值就是一致的。

    如果失效日期Cache-Control : max-ag=0或者是负值,浏览器会在对应的缓存中把Expires设置为1970-01-01 08:00:00。

    Last-Modified

    Last-Modified和ETag是条件请求(Conditional Request)相关的两个字段。如果一个缓存收到了针对一个页面的请求,它发送一个验证请求询问服务器页面是否已经更改,在HTTP头里面带上” ETag”和”If Modify Since”头。服务器根据这些信息判断是否有更新信息,如果没有,就返回HTTP 304(NotModify);如果有更新,返回HTTP 200和更新的页面内容,并且携带新的”ETag”和”LastModified”。

    使用这个机制,能够避免重复发送文件给浏览器,不过仍然会产生一个HTTP请求。

    一般纯静态页面本身都会有Last-Modified信息,Apache服务器会读取页面文件中的Last-Modified信息,并添加到http响应头部。

    对于动态页面,如果在页面内部没有通过函数强制加上Last-Modified,例如header(”Last-Modified: ” . gmdate(”D, d M Y H:i:s”) . ” GMT”),Apache服务器会把当前时间作为Last-Modified,返回给浏览器。

    无论是纯静态页面还是动态页面,Firefox浏览器巧妙地按照接受到服务器响应的时间设置缓存页面的Last-Modified,而不是按照http响应头部中的Last-Modified字段。

    ETag

    既然有了Last-Modified,为什么还要用ETag字段呢?因为如果在一秒钟之内对一个文件进行两次更改,Last-Modified就会不正确。因此,HTTP/1.1利用Entity Tag头提供了更加严格的验证。

    Apache服务器默认情况下,会对所有的静态、动态文件的响应头添加ETag字段。在Apache的httpd.conf文件中可以通过FileETag指令配置该选项。

    FileETag指令配置了当文档是基于一个文件时用以创建 Etag(entity tag)响应头的文件的属性。在Apache 1.3.22及以前,ETag的值是对文件的索引节(INode),大小(Size)和最后修改时间(MTime)进行Hash后得到的。如果一个目录的 配置包含了‘FileETag INode MTime Size’而其一个子目录包含了‘FileETag -INode’那么这个子目录的设置(并会被其下任何没有进行覆盖的子目录继承)将等价于‘FileETag MTime Size’。

    在多台负载平衡的服务器环境下,同一个文件会有不同的etag或者文件修改日期,浏览器每次都会重新下载。设置‘FileETag None’可以使响应头不再包含ETag字段。

    三种典型web服务器Header设置内容过期方法

    一、Internet 信息服务 (IIS)的内容过期设置

    如果IIS 网站中有时间敏感信息,可以配置设置来保证过期信息不被代理服务器或 Web 浏览器缓存。可以配置网站内容,使之在任

    何的时间自动过期。当启用内容过期时,Web 浏览器将比较当前日期和截止日期,以便决定是显示缓存页还是从服务器请求更新的页

    。Microsoft ASP.NET 这样的服务器端技术可用于动态更改提供的内容。通常,时间敏感信息只限于单个文件、目录或网站;不过,您也可以为某台计算机上的所有网站设置内容过期。

    必须是本地计算机上 Administrators 组的成员或者必须被委派了相应的权限,才能执行下列步骤。作为安全性的最佳操作,请使用不属于 Administrators 组的帐户登录计算机,然后使用运行方式命令以管理员身份运行 IIS管理器

    在命令提示符下,键入 runas /user:administrative_accountname “mmc %systemroot%/system32/inetsrv/iis.msc”。

    设置网站内容的过期时间
    1. 在 IIS 管理器中,展开本地计算机;右键单击要设置内容过期的网站、虚拟目录或文件,然后单击“属性”。
    2. 单击“HTTP 头”选项卡。
    3. 选中“启用内容过期”复选框。
    4. 单击“立即过期”、“此时间段后过期”或“过期时间”,然后在对应的框中输入所需的过期信息。
    5. 单击“确定”。

    二、APACHE服务的内容过期设置

    Apache配置摘录及解释
    i. 过期相关设置
    LoadModule headers_module modules/mod_headers.so
    #Load 修改header的模块。
    LoadModule expires_module modules/mod_expires.so
    #Load 设定过期header的模块。
    Header append Via: CCN-BJ-4-502
    #增加一个Via header,值配置成设备的hostname。
    KeepAliveTimeout 60
    #设置连接的保持时间为60秒。
    ExpiresActive On
    #启用过期header功能。
    ExpiresDefault A604800
    #缺省过期时间为“访问后的604800秒”

    <Directory /data/download>
    Options FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from all
    ExpiresByType text/html A300
    #text/html类型文件的过期设置为“访问后的300秒”
    ExpiresByType text/css A259200
    #text/css类型文件的过期设置为“访问后的259200秒”
    ExpiresByType application/x-javascript A300
    # application/x-javascript类型文件的过期设置为“访问后的300秒”
    ExpiresByType image/gif A2592000
    #image/gif类型文件的过期设置为“访问后的2592000秒”

    ExpiresByType application/x-shockwave-flash A2592000

    # application/x-shockwave-flash类型文件的过期设置为“访问后的2592000秒”

    </Directory>
    上述配置文件中load的两个模块:mod_headers.so  和mod_expires.so 可以让Apache具有对header的一些定制功能。
    ExpiresByType:     表示按照文件类型-MIME-TYPE设定过期策略;
    A300: 表示在Access后300秒后过期;
    ExpiresByType text/css A2592000:    表示Mime type是text/css的文件,在Access后2592000秒过期。
    ExpiresDefault A604800:  表示除了单独制定的文件类型等过期策略外的其他内容,按照这个缺省的策略设定:访问后604800秒过期。
    上面的方法可以实现根据web发布的不同文件类型,针对不同的发布目录进行过期策略设置。在按照如上方法设置后,Apache会自动的产生两个相关的http header,举例如下:
    HTTP/1.1 200 OK
    Date: Tue, 27 Mar 2007 17:44:21 GMT
    Server: Apache/2.0.54 (Unix)
    Last-Modified: Thu, 25 Jan 2007 07:45:45 GMT
    ETag: “72df3a-93-99499c40”
    Accept-Ranges: bytes
    Content-Length: 147
    Cache-Control: max-age=2592000
    Expires: Thu, 26 Apr 2007 17:44:21 GMT
    Via: CCN-BJ-4-575
    Keep-Alive: timeout=60, max=100
    Connection: Keep-Alive
    Content-Type: image/gif

    Length: 147 [image/gif]
    其中:Date + Max-age = Expires.  Max-age是个时间长度,对应web server上面设置的过期时间;Expires是根据max-age算出来的过期时间点,两者是一致的,不同cache在判断内容是否过期时会严格比较 系统时间和上述过期时间,或者比较age(在cache中存住的时间长度)和max-age的值。

    三、lighttpd

    lighttpd默认是没有开启expire模块的,需要我们在使用是手工开启这个模块支持。把mod_expire前面的“#”号去掉。

    # vi  /usr/local/lighttpd/etc/lighttpd.conf
    “mod_expire”,
    设定过期时间

    * 设定指定url的过期时间:

    expire.url = (
    “/images/” => “access 3 hours”,
    “/admin/” => “access 3 hours”,
    “/area/” => “access 3 hours”,
    “/calendar/” => “access 3 hours”,
    “/common/” => “access 3 hours”,
    “/front/” => “access 3 hours”,
    “/inc/” => “access 3 hours”,
    “/jeditor/” => “access 3 hours”,
    “/js/” => “access 3 hours”,
    “/script/” => “access 3 hours”,
    “/theme/” => “access 3 hours”,
    “/upload/” => “access 3 hours”,
    “/view/” => “access 3 hours”,
    “/help/” => “access 3 hours”,
    “/htm/” => “access 5 minutes”
    )

    设置Etag

    在配置文件中增加,etag.use-inode=”disable”(i节点不参与etag的运算),保证多台服务器生成的Etag值一致。 

    展开全文
  • RMS 服务器缓存分为两部分,一部分是每台 RMS 服务器的本地 Active Directory 缓存,包括了 Active Directory Global Catalog 的组成员的查询结果。除了每台 RMS 服务器的本地缓存外,还存在一个共享的数据库缓存...
  • 服务器验证——token

    千次阅读 2018-11-27 18:05:52
    在以前,我们常用Cookie+Session来完成服务器验证。 具体过程为在客户端提交表单登录,服务器端通过验证之后,生成一个Session对象,存放用户登录信息,并将SessionID存放到Cookie中,通过Http响应发送到客户端。...
  • 搭建nginx缓存服务器

    千次阅读 2019-09-21 16:10:59
    1. 服务器规划 ip 角色 系统版本 ...nginx缓存服务器 centos7 192.168.1.10 webserver1 192.168.1.18 webserver2 2. nginx安装 使用 nginx-sticky-module 扩展模块实现 Cookie 会话黏贴 ...
  • 9 /// 验证缓存项是否存在(异步方式) 10 /// 11 /// 缓存Key 12 /// <returns></returns> 13 Task<bool> ExistsAsync(string key);    # 添加缓存   1 /// 2 /// 添加缓存 3 /// 4...
  • squid 缓存规则验证

    千次阅读 2014-07-30 22:41:45
    wsCache的缓存规则验证 1. 测试环境     注意事项:   (1)服务器端得添加防火墙规则或者直接关闭,测试的话建议直接关闭!  (2)保持源站,缓存服务器,客户端的时间同步,这个对后续测试缓存超时lm-...
  • 客户端-服务器缓存机制4.安全性相关 这是一篇面对HTML初学者的文章,旨在帮助新手对客户端-服务器之间的缓存机制有一定的了解,以便于学习相关内容。 首先,我们要清楚cache-control和客户端-服务器的基本概念 1....
  • web服务器的几种缓存

    千次阅读 2016-01-05 11:11:02
    web开发中缓存机制的种类 1.数据库缓存  我们可能听说过memcached,它就是一种数据库层面的缓存方案。数据库缓存是指,当web应用的关系比较复杂,数据库中的表很多的时候,如果频繁进行 数据库查询,很...
  • nginx图片缓存服务器配置实战

    千次阅读 2013-06-25 17:03:46
    假定服务器主目录为nginx的默认目录:/usr/local/nginx-0.8.32/html/ 图片存放目录为:/usr/local/nginx-0.8.32/html/SD/images 图片缓存目录为:/usr/local/nginx-0.8.32/html/SD/images_cache 图片临时目录为:...
  • 缓存的HTTP代理服务器(五)

    千次阅读 2014-07-09 21:57:28
    代理服务器缓存 关于WEB 缓存基础知识,请先阅读这篇文章: https://www.mnot.net/cache_docs/ (或者中文版   http://www.cnblogs.com/xyjsw/archive/2010/01/27/1657825.html) 缓存代理 缓存代理通常规模较...
  • 缓存服务器设计与实现(六)

    千次阅读 2016-01-05 15:40:07
    本文讲缓存中的内容管理--文件的删除。
  • 服务端的缓存验证 Last-Modified和Etag

    千次阅读 2018-07-26 14:36:21
    Last-Modified 上次修改时间 配合If-Modified-Since或者If-Unmodified-Since使用 对比上次修改时间验证资源是否需要更新 ...缓存验证流程 在浏览器和服务端设置都允许缓存策略的前提下(服务端响...
  • 缓存服务器设计与实现(五)

    千次阅读 2014-10-10 17:59:57
    上次讲到lru与缓存重建,这次主要讲一下关于过期处理的一些主要问题。在讨论这个问题之前,有个相关的问题需要大家有所了解。就是对于一个缓存如期只来说,什么东西应该缓存,什么不应该缓存。这是一个比较复杂的...
  • C#客户端Redis服务器的分布式缓存

    千次阅读 2016-09-09 16:03:42
    在这篇文章中,我想介绍我知道的一种最紧凑的安装和配置Redis服务器的方式。另外,我想简短地概述一下在.NET / C#客户端下Redis hash(哈希类型)和list(链表)的使用。 在这篇文章主要讲到: 安装Re
  • SharePoint Oauth和服务器服务器(S2S)身份验证概述(Oauth and server-to-server (S2S) authentication overview) 注:感谢 张峰 对错误之处的建议,已经更改 打开授权和服务器服务器身份验证 开放授权...
  • iOS 中如何缓存服务器响应?

    千次阅读 2015-04-23 17:13:31
    大致翻译自:How to cache server responses in iOS apps通常与服务器通过 HTTP 进行通信的应用程序有两个特殊的要求: 尽可能的不让用户来等待数据和在没有网络的时候...iOS有我们所需的APIs来实现响应缓存和离线模式。
  • HTTP——Web服务器、代理、缓存

    千次阅读 2014-03-05 19:47:23
    在因特网上,要与很多Web应用程序警醒交互,其中有些比较重要的应用程序,如:HTTP服务器、代理、缓存、网关、隧道、Agent代理、中继等。 Web服务器 Web开发人员接触最多的应该是Web服务器,它实现了HTTP和相关的TCP...
  • 前面提到的一些缓存技术都是有我们的动态才程序控制的,现在的web服务器功能越来越强大,常用的web服务器软件也都内置了缓存功能,下面我们就简单的说下服务器缓存的应用.  首先,我们先来介绍一下URL映射,对于...
  • 采用redis作为独立缓存服务器(一)

    千次阅读 2018-02-03 00:54:45
    附加工具及验证工具: centos6.5 64位 + SecureCRT6.7 + RedisDesktopManager0.8.8 二 服务器架构 三 关键代码 =======================redis参数配置====================================...
  • 阿里云缓存服务器里面的一个坑

    千次阅读 2016-05-20 16:52:57
    公司的服务器是放在了阿里云上面的,阿里云有个十分给力的路由缓存功能,就是通过各种cache头去访问服务器的时候,阿里云会把这个结果保存到缓存服务器中,后面再次访问就不会经过我们自己的服务器,直接走缓存 ...
  • 可以要求redis客户端在向redis-server发送请求之前,先进行密码验证。当你的redis-server处于一个不太可信的网络环境中时,相信你会用上这个功能。由于redis性能非常高,所以每秒钟可以完成多达15万次的密码尝试,...
  • 在进行微信公众号配置时,会需要进行服务器配置,通过比对获取的签名和服务器计算的签名,以便验证签名的正确性。 1、服务器上需要配置服务器地址、Token、消息加解密秘钥。服务器地址为验证签名的地址、Token为...
  • 你是按照官方文档来的,npm run build没了,那么上到服务器上有时候是会有缓存的,o(╥﹏╥)o hash来啦~ 修改buildwebpack.prod.conf.js文件中的output为output: { path: config.build.assetsRoot,filename: ...
  • 1、背景:在正式的开发过程中,我们会有很多不能的环境,用于不同阶段的系统验证。很多时候我们会把一些配置信息配置在数据库的一个表中。先从数据库的表中读取数据,然后再根据配置信息初始化相应的内容。本示例就...
  • 浏览器的强缓存和协商缓存

    千次阅读 2019-05-01 16:30:50
    浏览器的强缓存和协商缓存 这里说的缓存是指浏览器(客户端)在本地磁盘中对访问过的资源保存的副本文件。 浏览器缓存主要有以下几个优点: ...如果浏览器命中强缓存,则不需要给服务器发请求;而协商缓存最终由浏览...
  • OpenWrt之dnsmasq工具(DHCP、TFTP、DNS缓存服务器) 介绍 智能路由器服务于家庭和小型企业网络,当多个人同时上网时,客户机经常进行DNS查询,大多查询会是重复的域名,如果有一个 DNS缓存代理 服务于局域网,这样将...
  • 缓存代理概述: 作为应用层的代理服务软件,squid主要提供缓存加速和应用层过滤控制的功能。 代理的基本类型: 传统代理:也就是普通的代理服务,首先必须在客户机的浏览器、聊天工具、下载软件等程序中手动设置...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 218,660
精华内容 87,464
关键字:

服务器验证缓存