内容在:http://chuansong.me/n/478502951177 PPT在:http://pan.baidu.com/s/1nvnOEBf 工具 跟 服务 的差别 从工具到服务之间缺失了哪些?工具可以各种方式使用:最常见的就是会出现工具滥用,比如这篇的提到的"Redis被开发人员滥用"."冷热区分支持",这些其实都可以靠管理规范解决.说白了,不管是有系统支持,还是人工审核,总之都需要有一个申请Redis资源.审核(设计评审).登记.分配资源的过程.监控肯…
https://blog.csdn.net/a67474506/article/details/52608855 Spring定义了org.springframework.cache.CacheManager和org.springframework.cache.Cache接口来统一不同的缓存技术,而SpringBoot为我们提供了自动配置多个CacheManager的实现 在不适用任何额外配置的情况下,默认使用SimpleCacheConfiguration SpringBoot通过spring…
微信小程序开发:学习笔记[9]——本地数据缓存 快速开始 说明 本地数据缓存是小程序存储在当前设备上硬盘上的数据,本地数据缓存有非常多的用途,我们可以利用本地数据缓存来存储用户在小程序上产生的操作,在用户关闭小程序重新打开时可以恢复之前的状态.我们还可以利用本地缓存一些服务端非实时的数据提高小程序获取数据的速度,在特定的场景下可以提高页面的渲染速度,减少用户的等待时间. 读写本地数据缓存 小程序提供了读写本地数据缓存的方法: 通过wx.getStorage/wx.getStorageSync读取…
Redis学习笔记(1)- CentOS 6.4 安装Redis 2013.10.13     学习环境 vm 10.1 + 默认.新装的干净 CentOS 6.4  64BIT系统     准备 1. redis 2.6.16版     http://download.redis.io/releases/redis-2.6.16.tar.gz     安装计划及具体步骤笔记   一.计划 1. 下载redis稳定版本 2. 解压并安装redis,并放入合理的目录中 3. 手工启动redis,测…
python3.4学习笔记(二十四) Python pycharm window安装redis MySQL-python相关方法window安装redis,下载Redis的压缩包https://github.com/dmajkic/redis/downloads 如redis-2.4.5-win32-win64.zip下载完后将其解压放在自己要放的目录下如果你是32位的话就进32bit的文件夹,64位就进64bit文件夹 文件夹进去后会看到几个文件:redis-benchmark.exe: 性能…
Altera SOPC嵌入式系统设计教程 第1章 概述 SOPC(System On Programmable Chip,可编程的片上系统)是Altera公司提出来的一种灵活.高效的SOC解决方案.它将处理器.存储器.I/O口.LVDS.CDR等系统设计需要的功能模块集成到一个可编程器件上,构成一个可编程的片上系统. 1.1 SOPC及其技术 现今,可将SOPC视为是基于FPGA解决方案的SOC.与ASIC的SOC解决方案相比,SOPC系统及其开发技术具有更多的特色,也有多种途径可构成SOPC方…
一:为什么使用Hibernate缓存: Hibernate是一个持久层框架,经常访问物理数据库. 为了降低应用程序访问物理数据库的频次,从而提高应用程序的性能. 缓存内的数据是对物理数据源的复制,应用程序在运行时从缓存中读取数据,在特定时间或事件会同步缓存和物理数据源的数据 二:什么是Hibernate缓存: Hibernate缓存分为两种:一级缓存,二级缓存. 1.一级缓存:又称为Session缓存, Session缓存是Hibernate内置的缓存,不能被卸载,生命周期也就是在open和cl…
假设不做不论什么处理.直接用网络载入图片在网速快的情况下可能没什么不好的感觉.可是假设使用移动流量或是网络不好的时候.问题就来了,要么用户会抱怨流量使用太多.要么抱怨图片载入太慢.如论从哪个角度出发,都不是好的体验! 要提高用户体验,我们就要使用缓存.Android中数据缓存的方式有非常多,相关介绍的文章也比較多.比方http://blog.csdn.net/dahuaishu2010_/article/details/17093139和http://www.jb51.net/article/3…
在学习异步IO模型前,先来了解协程 协程又叫做微线程,Coroutine 子程序或者成为函数,在所有语言中都是层级调用,比如a调用b,b调用c.c执行完毕返回,b执行完毕返回,最后a执行完毕返回 所以子程序是通过栈来实现的,一个线程就是执行一个子程序 子程序调用总是一个入口一次返回,调用顺序是明确的,而协程的调用和子程序是不同的. 协程看上去是子程序,但在执行过程中可以在子程序内部中断,转而执行别的子程序,在适当的时候返回执行 注意在一个子程序中断去执行其他子程序不是函数调用,类似于CPU的中断…
本节内容 一.协程 1.1.协程概念 1.2.greenlet 1.3.Gevent 1.4.协程之爬虫 1.5.协程之socket 二.论事件驱动与异步IO 三.IO 3.1.概念说明 3.2.IO模式 四.IO多路复用 1.Python Select 解析 协程 1.1.协程概念 协程,又称微线程,纤程.英文名Coroutine.一句话说明什么是线程:协程是一种用户态的轻量级线程. 协程拥有自己的寄存器上下文和栈.协程调度切换时,将寄存器上下文和栈保存到其他地方,在切回来的时候,恢复先前保存…
要想优化ListView首先要了解它的工作原理,列表的显示需要三个元素:ListView.Adapter.显示的数据: 这里的Adapter就是用到了适配器模式,不管传入的是什么View在ListView中都能显示出来. 下面简单说下上图的原理: 1.如果你有几千几万甚至更多的选项(item)时,其中只有可见的项目(满屏显示的Item数目)存在内存(说的优化就是说在内存中的优化!)中,其他的在Recycler中 2.ListView先请求一个type1视图(getView)然后请求其他可见的项目…
存储静态缓存即把缓存写入文件. file.php <?php class Cache{ //静态缓存文件后缀名 const EXT = 'txt'; //定义缓存文件存放路径 private $_dir; public function __construct(){ $this->_dir = dirname(__FILE__).'/files/'; } public function cacheData($k,$v = '',$path = ''){ //文件名 $filename = $t…
确保目录结构存在.每次创建文件,确保父目录已经存在.确保指定路径全部或部分目录已经存在.创建沿指定路径上不存在目录. 下载函数,如果文件名未指定,从URL解析.下载文件,返回本地文件系统文件名.如果文件存在,不下载.如果文件未指定,从URL解析,返回filepath .实际下载前,检查下载位置是否有目标名称文件.是,跳过下载.下载文件,返回路径.重复下载,把文件从文件系统删除. import os import shutil import errno from lxml import etree…
要想优化ListView首先要了解它的工作原理,列表的显示需要三个元素:ListView.Adapter.显示的数据: 这里的Adapter就是用到了适配器模式,不管传入的是什么View在ListView中都能显示出来. 下面简单说下上图的原理: 1.如果你有几千几万甚至更多的选项(item)时,其中只有可见的项目(满屏显示的Item数目)存在内存(说的优化就是说在内存中的优化!)中,其他的在Recycler中 2.ListView先请求一个type1视图(getView)然后请求其他可见的项目…
对于手机来说,每个软件在安装时,都会在sdcard上创建一个目录,用于缓存文件.市场上针对这些软件,统一了它的sdcard上的目录,将缓存目录存放到数据库中.如果要清理,可以根据当前应用包的名称,到数据库去查询缓存路径,如果 到再进行递归删除它下的文件. public class DemoActivity extends Activity { private TextView tv; private ProgressBar pb; private SQLiteDatabase db; priva…
目录: 缓存更新策略 缓存粒度 缓存穿透 缓存雪崩 缓存击穿 缓存更新策略: 1.内存溢出淘汰策略 当redis的使用内存超过maxmemory时会触发相应的策略,具体策略由maxmemory-policy参数控制 淘汰策略分为六种: )noeviction:默认策略,此策略不会删除任何数据:当客户端还进行写操作时将返回OOM(内存溢出) )volatile-lru:根据LRU算法删除设置了过期时间的key,如果没有可删除的key,回退到noevication策略 )volatile-rando…
任务队列 单线程就意味着,所有任务需要排队,前一个任务结束,才会执行后一个任务.如果前一个任务耗时很长,后一个任务就不得不一直等着. 同步任务指的是,在主线程上排队执行的任务,只有前一个任务执行完毕,才能执行后一个任务: 异步任务指的是,不进入主线程.而进入"任务队列"(task queue)的任务,只有"任务队列"通知主线程,某个异步任务可以执行了,该任务才会进入主线程执行. 回调函数 所谓"回调函数"(callback),就是那些会被主线程挂…
本节内容 一.进程与线程的概念 1.1进程 1.2线程 1.3进程与线程的区别 二.线程 2.1启一个线程 2.2线程的2种调用方式 2.3 join 2.4 守护线程Daemon 2.5线程锁 2.6全局解析锁 2.7递归锁 2.8Semaphore(信号量) 2.9事件Events(红绿灯举例) 2.10queue队列 2.11生产消费者模型 三.进程 3.1多进程 3.2进程间通讯 3.3进程池 一.进程与线程的概念 1.1进程 什么是进程(process)? 以QQ为例, QQ 要以一个…
协程的主要功能是单线程并发运行 假设有3个耗时不一样的任务.看看协程的效果. 先来看没有使用协程情况: #!/usr/bin/python3 # -*- coding:utf-8 -*- import time def taskfun(num): time.sleep(num) print('执行时间'+str(num)+'秒!') def no_async_main(): print(f"start at {time.strftime('%X')}") taskfun(1) task…
一.什么是缓存 --存在于内存中的临时数据. 为什么使用缓存?--减少和数据库的交互次数,提高执行效率. 适用于缓存的数据: 1.经常查询并且不经常改变的数据. 2.数据的正确与否对最终结果影响较小的. 不适用于缓存的数据: 1.经常改变的数据. 2.数据的正确与否对最终结果影响很大的.如:商品的库存,银行的汇率等. 二.MyBatis中的缓存 一级缓存:指的是MyBatis中SqlSession的对象的缓存. 当我们执行查询后,查询的结果会同时存入到SqlSession为我们提供的一块区域中.…
目录 1. 事件集的使用 1.1 事件集控制块 1.2 事件集操作 2. 邮箱的使用 2.1 邮箱控制块 2.2 邮箱的操作 3. 消息队列 3.1 消息队列控制块 3.2 消息队列的操作 4. 软件定时器 4.1 定时器模式 4.1.1 HARDTIMER模式 4.1.2 SOFTTIMER模式 4.2 软件定时器控制块 4.3 软件定时器的操作 5. 内存池 5.1 内存池控制块 5.2 内存池操作 参考文献 1. 事件集的使用 单个指定事件唤醒线程,任意事件唤醒线程,多个指定事件一起唤醒线…
使用条件:当我们没有权限或者不能使用服务器的时候,我们需要用socket操作memcached memcached-client操作 特点: 无需开启memcache扩展 使用fsocketopen()套接字连接memcached 同样执行CRUD require_once(CLASS_PATH.'memcached-client.php');//CLASS_PATH 是我定义的类文件文件夹路径 $mc = new memcached( array( 'servers' => array( '1…
条件控制:if <?php function getLevel($score){ if($score>=90){ return "优秀"; }elseif($score>=80){ return "良好"; }elseif($score>=70){ return "中等"; }elseif($score>=60){ return "及格"; }else{ return "差";…
//2015年5月5日16:55:00 //Main package com.alfredsun.thread; public class Main { public static void main(String[] args) { // TODO Auto-generated method stub MyThread t1=new MyThread("A"); MyThread t2=new MyThread("B"); // t1.run(); // t2.r…
流程控制 顺序结构.选择结构.循环结构 1.顺序结构 程序默认是顺序执行的. 2.选择结构 if选择语句 第一种情况 if(条件)//条件成立执行下面语句 { //语句 } 第二种情况 if(条件)//条件成立执行下面语句,否则执行else里面的语句 { //语句 } else { //语句 }   第三种情况 if(条件1)//条件1成立执行下面语句,否则执行下面else if 里面的语句 { //语句1 } else if(条件2)//条件2成立执行下面语句,否则执行else if 里面的语…
1.添加远程仓库 $ git remote add [shortname] [url] $ git remote add origin https://github.com/Mike199201/GitFile #origin是仓库的命名 2.从远程仓库拉取数据 2.1 git fetch(拉取) $ git fetch [remote-name] #将远程仓库最新内容全部拉到本地暂存区respository,用户检查了以后决定是否合并到本地工作区workspace $ git fetch [r…
因为想在家里和公司都能用到一套代码,所以选择上传到github,记录一下使用经验. 需要安装git,和注册github 以下操作是第一次将自己的代码上传到GitHub上 1)创建github项目 1.1 登录github,点击New repository ​ 1.2依次填上项目名称,描述,勾选创建说明文档 ​ 2)配置ssh 2.1在github用户下选择setting,然后选择ssh.点击创建new ssh.需要输入ssh别名和实际的ssh公钥 ​ 2.2打开命令行界面,在想要上传项目目录中,…
本节内容: 线程: a:基本的使用: 创建线程: 1:方法 import threading def f1(x): print(x) if __name__=='__main__': t=threading.Thread(target=f1,args=(,)) t.start() t=threading.Thread(target=f1,args=(1,))创建线程,target=动作(执行什么,需要是可被调用的函数)args参数元组,要求参数最后加个逗号. 当我们创建一个线程时候,t.star…
TensorFlow Serving https://tensorflow.github.io/serving/ . 生产环境灵活.高性能机器学习模型服务系统.适合基于实际数据大规模运行,产生多个模型训练过程.可用于开发环境.生产环境. 模型生命周期管理.模型先数据训练,逐步产生初步模型,优化模型.模型多重算法试验,生成模型管理.客户端(Client)向TensorFlow Severing请求模型,TensorFlow Severing返回适当模型给客户端.TensorFlow Serving…
Redis 一.Redis简介 1.Redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合). zset(sorted set --有序集合)和hash(哈希类型).这些数据类型都支持push/pop.add/remove及取交集并集和差集及更丰富的操作, 而且这些操作都是原子性的.在此基础上,redis支持各种不同方式的排序.与memcached一样,为了保证效率,数据都是缓存在内存中…