缓存服务器

Android 异步加载图片,使用LruCache和SD卡或手机缓存,效果非常的流畅

荒凉一梦 提交于 2019-12-07 03:21:00
转载请注明出处 http://blog.csdn.net/xiaanming/article/details/9825113 异步加载图片的例子,网上也比较多,大部分用了HashMap<String, SoftReference<Drawable>> imageCache ,但是现在已经不再推荐使用这种方式了,因为从 Android 2.3 (API Level 9)开始,垃圾回收器会更倾向于回收持有软引用或弱引用的对象,这让软引用和弱引用变得不再可靠。另外,Android 3.0 (API Level 11)中,图片的数据会存储在本地的内存当中,因而无法用一种可预见的方式将其释放,这就有潜在的风险造成应用程序的内存溢出并崩溃,所以我这里用得是LruCache来缓存图片,当存储Image的大小大于LruCache设定的值,系统自动释放内存,这个类是3.1版本中提供的,如果你是在更早的Android版本中开发,则需要导入android-support-v4的jar包(这里要注意咯) 为什么写这篇文章呢? 因为我之前做的项目中,也有异步加载图片,那时候用得是Thread去下载图片,每次下载图片都要new Thread去下载,而且还是并发去下载,每次都new 一个线程浪费内存,老板说服务器承受不起这么多的连接,叫我改成先获取一张图片之后再去获取下一张,这样子保存与服务器的连接为一个

PHP 中cookie 和 session 的分析

扶醉桌前 提交于 2019-12-07 00:39:04
1. PHP 的COOKIE cookie 是一种在远程浏览器端储存数据并以此来跟踪和识别用户的机制。 PHP 在http 协议的头信息里发送cookie,因此 setcookie() 函数必须在其它信息被输出到浏览器 前调用,这和对 header() 函数的限制类似。 1.1 设置cookie: 可以用 setcookie()或 setrawcookie()函数来设置 cookie。也可以通过向客户端直接发送http 头来 设置。 1.1.1 使用 setcookie()函数设置cookie: bool setcookie ( string name [, string value [, int expire [, string path [, string domain [, bool secure [, bool httponly]]]]]] ) name: cookie 变量名 value: cookie 变量的值 expire: 有效期结束的时间 path: 有效目录 domain: 有效域名,顶级域唯一 secure: 如果值为 1,则cookie 只能在https 连接上有效,如果为默认值 0,则http 和 https 都可 以。 例子: 代码片段 <?php $value = 'something from somewhere'; setcookie(

PHP安装eAccelerator

冷暖自知 提交于 2019-12-06 21:28:56
eAccelerator是一个非常优秀的PHP加速器,通过缓存编译之后的PHP代码文件,使得PHP编译对服务器的开销几乎为零。eAccelerator本身的开销也是极少的 最新的PHP5.4.8安装eAccelerator, 需要注意的是要安装高版本的,低了编译不过去。 官网: http://eaccelerator.net/ 注意PHP5.5以后暂时不能使用eAccelerator 原因:其中一个我知道的是eAccelerator中使用了 php_register_info_logo(EACCELERATOR_VERSION_GUID, "text/plain", (unsigned char*)EACCELERATOR_VERSION_STRING, sizeof(EACCELERATOR_VERSION_STRING)); php_register_info_logo(EACCELERATOR_LOGO_GUID, "image/gif", (unsigned char*)eaccelerator_logo, sizeof(eaccelerator_logo)); php_register_info_logo在PHP5.5中已经移除了 。 1.下载安装eAccelerator # wget https://github.com/eaccelerator

springBoot整合Redis

北城余情 提交于 2019-12-06 18:54:35
一、引入redis包 springboot 版本2.2.0 <!--redis依赖--><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId></dependency> 二、仅做配置 springboot 自动装配类为: RedisAutoConfiguration 正常情况下,只需要配置yml 文件或property 文件就可以使用 redisTemplate 进行redis 操作,以yml配置为例 1、单机redis配置 spring: redis: password: zjl123 jedis: pool: max-active: 200 max-idle: 20 min-idle: 5 max-wait: -1 host: 192.168.244.128 port: 6381 密码在redis.conf 文件里配置 pool 下的配置是redis连接池配置 max-active:最大连接数 max-idle:最大等待中的连接数量 min-idle:最小等待中的连接数量 max-wait:最大等待时长 2、sentinel模式配置 spring: redis: password: zjl123 jedis:

有关WebView的一些使用方法

坚强是说给别人听的谎言 提交于 2019-12-06 18:06:53
有关WebView的一些使用方法 muyuren 2016-04-13 Android系统中内置了一款高性能 webkit 内核浏览器,在 SDK 中封装为一个叫做 WebView 组件。 在开发过程中应该注意几点: 1.这是最基本的 AndroidManifest.xml 中必须添加访问网络权限。 2.如果访问的页面中有 Javascript,则 WebView 必须设置支持 Javascript。 WebView.getSettings().setJavaScriptEnabled(true); 3.如果页面中链接,如果希望点击链接继续在当前browser中响应,而不是新开Android的系统browser中响应该链接,必须覆盖 WebView的WebViewClient对象。 mWebView.setWebViewClient(new WebViewClient(){ public boolean shouldOverrideUrlLoading(WebView view, String url){ view.loadUrl(url); return true; } }); 4.如果不做任何处理 ,浏览网页,点击系统“Back”键,整个 Browser 会调用 finish()而结束自身,如果希望浏览的网页回退而不是推出浏览器,需要在当前Activity中处理并消费掉该

Apache启用mod_expires模块

旧城冷巷雨未停 提交于 2019-12-06 17:33:52
mod_expires可以减少10%左右的重复请求,让重复的用户对指定的页面请求结果都CACHE在本地,根本不向服务器发出请求。 在使用之前,首先要确认一下”mod_expires”模组是否有启用.如果是自己安装Apache来架设网页主机的话,这里我们可以透过编辑Apache的”httpd.conf”设定档来处理.搜寻一下,你可能会找到这么一行: #LoadModule expires_module modules/mod_expires.so 复制代码 将该行前面的”#”字号删除,然后将”httpd.conf”设定档储存后,重新启动Apache来使这个更新生效. 当然如果我们是租用虚拟主机的话,”httpd.conf”设定档我们一般用户是接触不到的,而在网站根目录里写个”.htaccess”设定档, 我想在运用上相对是较灵活的.”mod_expires”的设定资料除了可以写在Apache的”httpd.conf”设定档中,也可以写 在”.htaccess”设定档里. 我们知道在使用浏览器浏览网页时,浏览器会把网页资料快取(Cache)下来储存在本机端,用以加快下回浏览相同网页时不必再重新由网站上下载,进 而有加速的效果.使用mod_expires模组来加速网页浏览,这里所谓的”加速”,其实是利用”mod_expires”的功能,来设定网页文件的过 期时间,加长网页文件被浏览器快取

LAMP与LNMP加速与缓存优化

こ雲淡風輕ζ 提交于 2019-12-06 16:51:24
一、PHP引擎优化 1.LNMP与LAMP优化的相同与不同   LAMP的动态文件处理是通过apache+php(libphp5.so)模块来实现。   LNMP的动态文件处理是通过nginx+php(fcgi php-fpm)接口以及服务来实现。   优化都是对应一个主配置文件php.ini。   但是nginx+php(fcgi php-fpm)会有一个自己的配置文件php-fpm.conf。 2.PHP缓存加速器介绍    操作码缓存介绍:   请求一个php程序时,php引擎会解析该程序,并将其编译为特定的操作码,这是要执行的代码的一种二进制表示形式。随后,此操作码由php引擎执行并丢弃,操作码缓存将保存在这个编译后的操作码,并在下次调用该页面时重用它,这会节省很多重复编码的时间。 3.查看web架构各种软件的编译参数 (1)如果是通过yum方式安装的   yum grouplist 包名 (2)如果是编译安装的 ·Nginx   查看编译参数/application/nginx/sbin/nginx -V ·Apahce   查看编译参数cat /application/apache/build/config.nice ·Mysql   查看编译参数grep CONFIGURE_LINE /application/mysql/bin/mysqlbug ·PHP  

不使用cookie记录用户信息

孤人 提交于 2019-12-06 16:10:39
cookie是什么: cookie是由web服务器保存在用户浏览器(客户端)上的小文件,它可以包含用户信息,用户操作信息等等,无论何时访问服务器,只要同源,就能携带到服务端 常见方式 一般:请求一个接口,返回是否登录,如果登录成功,服务器(set-cookie)设置cookie到浏览器,以后请求api会继续请求 jwt:将用户id.payload.签证进行加密,并且注入到客户端cookie,之后每次请求会在服务端解析该cookie,并获取对应的用户数据,由于存在客户端,所以解放了服务端,减少服务端压力。也可以将该cookie放到根域名下,这样就可以登录一次,遍地开花。 可以看到,常见的方式都是利用cookie(或者浏览器storage),这样你的信息还是会被看到,如果别人获取到你的cookie也有办法进行破解甚至直接复制登录。那么有没有办法不借用cookie来记录用户信息的? 利用缓存存储用户信息 优点:安全可靠 缺点:依赖服务端 原理概述: 请求一个资源,如果设置cache-control、lastmodify、etag等,会进行缓存相关的判定: cache-control:是否强缓存,如果命中直接读取浏览器缓存的上次返回内容 last-modify:如果未命中强缓存,进行时间的判断,如果有if-modified-since并且和last-modify那么读取缓存

高效缓存Memcached集成使用说明

冷暖自知 提交于 2019-12-06 15:34:03
Memcached 介绍与分析 Memcached 是一种集中式 Cache ,支持分布式横向扩展。总结几个它的特点来理解一下它的优点和限制。 Memory :内存存储,不言而喻,速度快,对于内存的要求高,不指出的话所缓存的内容非持久化。对于 CPU 要求很低,所以常常采用将 Memcached 服务端和一些 CPU 高消耗 Memory 低消耗应用部属在一起。(作为我们 AEP 正好有这样的环境,我们的接口服务器有多台,接口服务器对于 CPU 要求很高(由于 WS-Security ),但是对于 Memory 要求很低,因此可以用作 Memcached 的服务端部属机器) 集中式 Cache :避开了分布式 Cache 的传播问题,但是需要非单点保证其可靠性,这个就是后面集成中所作的 cluster 的工作,可以将多个 Memcached 作为一个虚拟的 cluster ,同时对于 cluster 的读写和普通的 memcached 的读写性能没有差别。 分布式扩展: Memcached 的很突出一个优点,就是采用了可分布式扩展的模式。可以将部属在一台机器上的多个 Memcached 服务端或者部署在多个机器上的 Memcached 服务端组成一个虚拟的服务端,对于调用者来说完全屏蔽和透明。提高的单机器的内存利用率,也提供了 scale out 的方式。 Socket 通信

服务器部署之nginx的配置

亡梦爱人 提交于 2019-12-06 14:59:09
nginx可作为Web和 反向代理 服务器,在高连接并发的情况下,Nginx是Apache服务器不错的替代品。下面记录一下自己对nginx的配置和使用。 nginx的安装 环境:oracle-linux7 安装依赖 yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel pcre 安装nginx yum -y install nginx # 可能找不到安装包,需要源码安装 # 源码安装,在合适的目录下 wget http://nginx.org/download/nginx-1.10.2.tar.gz tar zxvf nginx-1.10.2.tar.gz cd nginx-1.10.2 mkdir /usr/local/nginx # 生成配置文件 ./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module make && make install # 设置软连接 ln -s /usr/local/nginx/sbin/nginx /usr/bin/ 启动测试 cd /usr/local/nginx/sbin/ nginx # 启动,默认是在后台运行