- 军军小站|张军博客
搜索到与相关的文章
Python

python连接、操作mongodb数据库的方法实例详解

本文实例讲述了python连接、操作mongodb数据库的方法。分享给大家供大家参考,具体如下:数据库连接frompymongoimportMongoClientimportpandasaspd#建立MongoDB数据库连接client=MongoClient('162.23.167.36',27101)#或MongoClient("mongodb://162.23.167.36:27101/")#连接所需数据库,testDatabase为数据库名:db=

系统 2019-09-27 17:47:01 1865

Python

Python抽象类的新写法

记得之前learnpython一书里面,因为当时没有官方支持,只能通过hack的方式实现抽象方法,具体如下最简单的写法classMyCls():deffoo(self):print('methodnoimplement')运行的例子>>>a=MyCls()>>>a.foo()methodnoimplement>>>这样虽然可以用,但是提示不明显,还是容易误用,当然,还有更好的方法较为可以接受的写法classMyCls():deffoo(self):rais

系统 2019-09-27 17:46:45 1865

Python

Python中使用ConfigParser解析ini配置文件实例

ini文件是windows中经常使用的配置文件,主要的格式为:复制代码代码如下:[Section1]option1:value1option2:value2python提供了一个简单的模块ConfigParser可以用来解析类似这种形式的文件。对于ConfigParser模块可以解析key:value和key=value这样的类型,对于#和;开头的行将会自动忽视掉。相当于注释行。常用的函数:复制代码代码如下:ConfigParser.RawConfigPa

系统 2019-09-27 17:45:50 1865

Python

Python MongoDB 插入数据时已存在则不执行,不存在则插入的解决方法

本文实例讲述了PythonMongoDB插入数据时已存在则不执行,不存在则插入的解决方法。分享给大家供大家参考,具体如下:前言:想把QQ日志爬虫(Python)爬下来的日志保存到MongoDB里面。但insert的时候报错:E11000duplicatekeyerrorcollection:QQ.Blogindex:_id_dupkey:{:"965464518_1301232446"}后来知道错误的原因是:插入的数据和已有数据的ID重复了。我想要的是:插

系统 2019-09-27 17:38:32 1865

编程技术

关于大型网站技术演进的思考(六)--存储的瓶颈

在讲数据库水平拆分时候,我列出了水平拆分数据库需要解决的两个难题,它们分别是主键的设计问题和单表查询的问题,主键问题前文已经做了比较详细的讲述了,但是第二个问题我没有讲述,今天我将会讲讲如何解决数据表被垂直拆分后的单表查询问题。要解决数据表被水平拆分后的单表查询问题,我们首先要回到问题的源头,我们为什么需要将数据库的表进行水平拆分。下面我们来推导下我们最终下定决心做水平拆分表的演进过程,具体如下:第一个演进过程:进行了读写分离的表在数据增长后需要进行水平拆

系统 2019-08-29 23:45:42 1865

编程技术

用One-JAR简化应用程序交付

如果您曾经试图把Java应用程序交付为单一的Java档案文件(JAR文件),那么您很有可能遇到过这样的需求:在构建最终档案文件之前,要展开支持JAR文件(supportingJARfile)。这不但是一个开发的难点,还有可能让您违反许可协议。在本文中,Tuffs向您介绍了One-JAR这个工具,它使用定制的类装入器,动态地从可执行JAR文件内部的JAR文件中装入类。

系统 2019-08-29 23:18:26 1865

编程技术

[ZT]WebService概述

part1.WebService概述-----------------------------------------------------一、WebService概述1.动机1)今天,万维网的主要用途是交互式的访问文档和应用程序;2)大多数时候,这些访问是通过浏览器、音频播放器或其它交互式的前-后端系统;3)W3C:“假如万维网支持应用程序间的交互,Web在能力及应用范围上能得到引人注目的增长”2.理念:构建应用程序的时候通过发现以及调用网络上现在的应

系统 2019-08-29 22:43:21 1865

编程技术

锁定与并发

在多线程程序中,我们经常需要对要访问的资源进行加锁。加锁的目的是为了同步对资源的访问,但是,加锁不可避免的会降低应用的并发量。那么如何在需要加锁的时候,尽可能地提高并发量了?下面是我的一些经验,仅供参考。1.首先,我们要控制好锁的粒度。锁的粒度越大,能支持的并发就越小。我们只需要将真正需要同步的代码块lock住,而不需要同步的代码块不要放在lock块中。当然,锁的粒度也不是越小越好,粒度太细的锁会导致编程很繁琐,而且需要足够的细心和全面考虑方可保证锁不会出

系统 2019-08-29 22:43:04 1865

编程技术

ibatis 学习笔记 批量处理 存储过程

Java代码/**在项目中,遇到这样的一个问题,当某一模块需要插入,更新一批大的数据量时,*此处大的含义是:更新到的数据记录比较多*用ibatis实现一条一条的插入,更新,如此循环下去。速度很慢*分析:*这些操作有个共同点:*PreparedStatement对象和已映射的语句完全一致(简单点说:就是操作不断重复)*由于事物是交给spring管理了,所以每做一次操作都会起一个事物,久而久之导致*性能问题。**batch批处理就适合那些查询,插入,更新,删除

系统 2019-08-29 22:22:18 1865

编程技术

适配器(Adapter)模式

适配器模式把一个类的接口变换成客户端所期待的另一种接口,从而使原本接口不匹配而无法在一起工作的两个类能够在一起工作。二,类的Adapter模式的结构:三,示例代码/***目标**@authorSalmon**/publicinterfaceTarget{publicvoidrequest();}/***源**@authorSalmon**/publicclassAdaptee{publicvoidspecificRequest(){System.out.p

系统 2019-08-12 09:29:47 1865