persist

FreeSql (一)入门

谁说我不能喝 提交于 2020-08-19 09:57:20
FreeSql是一个功能强大的 .NET ORM 功能库,支持 .NetFramework 4.0+、.NetCore 2.1+、Xamarin 等支持 NetStandard 所有运行平台。 QQ群:4336577(已满)、8578575(在线) 模型 FreeSql 使用模型执行数据访问,模型由实体类表示数据库表或视图,用于查询和保存数据。 可从现有数据库生成实体模型,FreeSql 提供 IDbFirst 接口实现 生成实体模型 。 或者手动创建模型,基于模型创建或修改数据库,提供 ICodeFirst 同步结构的 API(甚至可以做到开发阶段自动同步)。 using FreeSql.DataAnnotations; using System; public class Blog { [Column(IsIdentity = true, IsPrimary = true)] public int BlogId { get; set; } public string Url { get; set; } public int Rating { get; set; } } 声明 dotnet add packages FreeSql.Provider.Sqlite static IFreeSql fsql = new FreeSql.FreeSqlBuilder()

还为在家远程办公而困扰? openvpn 轻松帮你实现!

一曲冷凌霜 提交于 2020-08-18 04:47:30
前言: 鉴于疫情期间想必大伙可能有居家办公的需求,这样就少不了远程工作,目前最简单的方式就是通过公司路由直接端口映射实现,但这样难免存在安全风险,为此小编临时决定自建openvpn来实现这一功能,说起openvpn大伙可能都比较熟悉了,至于原理网络一大堆小编就不在赘述了,这里只是简单总结一下openvpn的安装部署流程,一来重新回顾一下openvpn工作流程,二来可以理清思绪,借助博客深入原理沉淀下来,对自己对他人都会有很大的帮助。此文只供初学者参考!不喜勿喷,喷者勿入,勤者共勉。^_^ 简介: vpn 介绍:在公共网络上建立的一条私密的安全通道实现互联网远程访问,局域网互联等,OpenVPN 是一个基于 OpenSSL 库的应用层 VPN 实现。和传统 VPN 相比,它的优点是简单易用。 核心原理: 1.openvpn服务端会创建一个名为tun的虚拟网卡,此网卡和物理网卡具有相同的特点,能够配置IP和路由。 2.openvpn服务器需要配置一个虚拟地址池和一个自用的静态IP地址然后会给每个成功建立ssl连接的客户端动态分配一个虚拟IP,这样无理网络中的客户端和openvpn之间就连接成了一个星型的局域网,openvpn服务器成为每个客户端在虚拟网络上的网关,openvpn通过提供对客户端虚拟网卡的路由管理功能。简单的说openvpn服务器就类一个虚拟路由器。 3

React 如何封装原生事件对象

萝らか妹 提交于 2020-08-17 18:28:06
这篇文章的目的:看 react 如何在一个具有不同类型的原生对象的基础上封装一个可扩展的对象, 更多 被封装的原生对象: 浏览器的原生事件对象 nativeEvent 封装后的构造函数: 合成事件对象 SyntheticEvent 首先,确定需要用到那些原生对象上的属性,以及那些属性需要做特殊处理,比如兼容问题,比如降级处理等的给: const EventInterface = { type : null, target: null, // currentTarget is set when dispatching; no use in copying it here currentTarget: function () { return null; }, eventPhase: null, bubbles: null, cancelable: null, timeStamp: function (event) { return event.timeStamp || Date.now(); }, defaultPrevented: null, isTrusted: null, }; 复制代码 构建 SyntheticEvent 的构造函数 首先将入参设置到实例对象上,可以不关注入参的含义 this.dispatchConfig = dispatchConfig; this.

open***中server.conf和client.conf配置文件详解

余生颓废 提交于 2020-08-17 17:11:14
Server使用的配置文件server.conf —————————– #申明本机使用的IP地址,也可以不说明 ;local a.b.c.d #申明使用的端口,默认1194 port 1194 #申明使用的协议,默认使用UDP,如果使用HTTP proxy,必须使用TCP协议 ;proto tcp proto udp #申明使用的设备可选tap和tun,tap是二层设备,支持链路层协议。 #tun是ip层的点对点协议,限制稍微多一些,本人习惯使用TAP设备 dev tap ;dev tun #Open×××使用的ROOT CA,使用build-ca生成的,用于验证客户是证书是否合法 ca ca.crt #Server使用的证书文件 cert server.crt #Server使用的证书对应的key,注意文件的权限,防止被盗 key server.key # This file should be kept secret #CRL文件的申明,被吊销的证书链,这些证书将无法登录 crl-verify ***crl.pem #上面提到的生成的Diffie-Hellman文件 dh dh1024.pem #这是一条命令的合集,如果你是Open×××的老用户,就知道这条命令的来由 #这条命令等效于: # mode server #Open×××工作在Server模式

FreeSql (一)入门

狂风中的少年 提交于 2020-08-17 09:37:12
FreeSql是一个功能强大的 .NET ORM 功能库,支持 .NetFramework 4.0+、.NetCore 2.1+、Xamarin 等支持 NetStandard 所有运行平台。(QQ群:4336577) 模型 FreeSql 使用模型执行数据访问,模型由实体类表示数据库表或视图,用于查询和保存数据。 可从现有数据库生成实体模型,FreeSql 提供 IDbFirst 接口实现 生成实体模型 。 或者手动创建模型,基于模型创建或修改数据库,提供 ICodeFirst 同步结构的 API(甚至可以做到开发阶段自动同步)。 using FreeSql.DataAnnotations; using System; public class Blog { [Column(IsIdentity = true, IsPrimary = true)] public int BlogId { get; set; } public string Url { get; set; } public int Rating { get; set; } } 声明 dotnet add packages FreeSql.Provider.Sqlite static IFreeSql fsql = new FreeSql.FreeSqlBuilder() .UseConnectionString

spark 内存管理总结

元气小坏坏 提交于 2020-08-13 08:14:37
spark 内存管理总结 spark内存分为 on-heap和off-heap,堆内内存和堆外内存 堆外内存,会把数据序列化之后写入jvm内存之外,但是需要单独编码申请资源和释放资源一般不怎么样用 堆内内存,在jvm内存里,受jvmGC影响,如果创建很多小对象或者小的存储结果会频繁的触发新生代的GC,可以在提交任务的时候添加参数打印GC日志观察 堆内内存详解 spark 1.6之后放弃了原有的静态内存管理器(可以配置参数来分配spark内存),转而使用 统一内存管理, 将内存分为4大块 存储内存:用户缓存RDD,如cache和persist操作(75%*50%) execute内存/计算内存:用户shuffle运算等(75%*50%) 用户内存:用户存放用户代码,相关依赖等等(25%) 预留内存:用于系统存储spark内部对象之类的(默认300MB) 其中 存储内存和计算内存占spark整个内存的75%,然后二者各占75%*50%,他们两个可以互相侵占如果存储内存不足会侵占计算内存,计算内存不足也可以侵占存储内存,如果都不足就会溢出到磁盘,但是运算内存如果侵占了存储内存是不会归还因为shuffle计算的中间结果还在. 来源: oschina 链接: https://my.oschina.net/u/2969788/blog/4289047

Redis从入门到精通:中级篇

喜你入骨 提交于 2020-08-12 05:12:01
原文链接:http://www.cnblogs.com/xrq730/p/8944539.html,转载请注明出处,谢谢 本文目录 上一篇文章以认识Redis为主,写了Redis系列的第一篇,现在开启第二部分的学习,在本文中,我们将看到以下内容: Redis数据结构String、Hash、List、Set、SortedSet及相关操作,提一下Redis在3.2.0之后有新增了一种GEO的数据类型表示地理位置,不过本文这种数据结构略过 Redis其他一些常用命令,分为Key操作与服务器操作 Redis事务机制 主要以实战为主,希望通过本文可以让大家掌握Redis的基本使用。 本来这篇文章还准备加上Redis线程模型分析的,但是写完发现篇幅实在太长,就把Redis线程模型放到最后一篇中了,也挺好的,本文专注于对Redis命令的讲解。 另外说一下,本文讲Redis中的数据结构,但是 数据结构本身不在本文的讲解范围内 ,如果想知道Hash、List、Set等数据结构特点及使用场景,可以自己查阅数据结构相关资料。 String数据结构的基本操作 首先说一下数据结构String,这是Redis中最简单的一种数据结构,和MemCache数据结构是一样的,即Key-Value型的数据,根据Redis官方文档, Value最大值为512M 。 下面用表格来看一下String操作的相关命令: 命令

akka-typed(8)

北战南征 提交于 2020-08-12 05:06:08
前面介绍了事件源(EventSource)和集群(cluster),现在到了讨论CQRS的时候了。CQRS即读写分离模式,由独立的写方程序和读方程序组成,具体原理在以前的博客里介绍过了。akka-typed应该自然支持CQRS模式,最起码本身提供了对写方编程的支持,这点从EventSourcedBehavior 可以知道。akka-typed提供了新的EventSourcedBehavior-Actor,极大方便了对persistentActor的应用开发,但同时也给编程者造成了一些限制。如手工改变状态会更困难了、EventSourcedBehavior不支持多层式的persist,也就是说通过persist某些特定的event然后在event-handler程序里进行状态处理是不可能的了。我这里有个例子,是个购物车应用:当完成支付后需要取个快照(snapshot),下面是这个snapshot的代码: snapshotWhen { (state,evt,seqNr) => CommandHandler.takeSnapshot(state,evt,seqNr) } ... def takeSnapshot(state: Voucher, evt: Events.Action, lstSeqNr: Long)( implicit pid: PID) = { if (evt

Redis学习笔记(三)--Key设置过期时间

£可爱£侵袭症+ 提交于 2020-08-12 00:39:38
Redis学习笔记(三)--Key设置过期时间 通过EXPIRE命令进行设置 EXPIRE key seconds 设置key的过期时间,超过时间后,将会自动删除该key。在Redis的术语中一个key的相关超时是不确定的。 超时后只有对key执行DEL命令或者SET命令或者GETSET时才会清除。 这意味着,从概念上讲所有改变key的值的操作都会使他清除。 例如,INCR递增key的值,执行LPUSH操作,或者用HSET改变hash的field所有这些操作都会触发删除动作。 使用PERSIST命令可以清除超时,使其变成一个永久的key。 如果key被RENAME命令修改,相关的超时时间会转移到新key上面。 如果key被RENAME命令修改,比如原来就存在Key_A,然后调用RENAME Key_B Key_A命令,这时不管原来Key_A是永久的还是设置为超时的,都会由Key_B的有效期状态覆盖。 刷新过期时间 对已经有过期时间的key执行EXPIRE操作,将会更新它的过期时间。有很多应用有这种业务场景,例如记录会话的session。 来源: oschina 链接: https://my.oschina.net/u/2447587/blog/4387378

spark checkpoint

浪尽此生 提交于 2020-08-11 03:45:32
Checkpoint 到底是什么和需要用 Checkpoint 解决什么问题: Spark 在生产环境下经常会面临 Transformation 的 RDD 非常多(例如一个Job 中包含1万个RDD) 或者是具体的 Transformation 产生的 RDD 本身计算特别复杂和耗时 (例如计算时常超过1个小时) , 可能业务比较复杂,此时我们必需考虑对计算结果的持久化。 Spark 是擅长 多步骤迭代 ,同时擅长基于 Job 的复用。这个时候如果可以对计算的过程进行复用,就可以极大的提升效率。因为有时候有共同的步骤,就可以免却重复计算的时间。 如果采用 persists 把数据在内存中的话,虽然最快速但是也是最不可靠的;如果放在磁盘上也不是完全可靠的,例如磁盘会损坏,系统管理员可能会清空磁盘。 Checkpoint 的产生就是为了相对而言更加可靠的持久化数据,在 Checkpoint 可以指定把数据放在本地并且是多副本的方式,但是在正常生产环境下放在 HDFS 上,这就天然的借助HDFS 高可靠的特征来完成最大化的 可靠的持久化数据的方式 。 Checkpoint 是为了 最大程度保证绝对可靠的复用 RDD 计算数据的 Spark 的高级功能,通过 Checkpoint 我们通过把数据持久化到 HDFS 上来保证数据的最大程度的安任性 Checkpoint 就是针对整个RDD