Golang对自定义类型排序

在实际项目中用到对结构按结构体中的某个字段进行排序,在网上查到一个比较好的办法,mark一下。 首先golang的sort包提供了基本的排序,包括插入排序(insertionSort)、归并排序(symMerge)、堆排序(heapSort)和快速排序(quickSort)。其实现如下 fu...

2018-09-04 10:28:48

阅读数:287

评论数:0

Python发送Post请求

1、json格式的请求 #coding=utf8 import json import gzip import msgpack import urllib import urllib2 import tarfile def request(): try: url = ...

2018-07-26 10:37:00

阅读数:98

评论数:0

Python服务端开发

之前的爬虫https://blog.csdn.net/column/details/17218.html几篇文章为Python实现客户端以Get/Post等方法请求服务。最近用Python写了一个服务,在此总结一下知识点:1、Python代码中执行shell命令;2、白名单设置---通过查看客户端...

2018-05-03 20:25:57

阅读数:1008

评论数:0

Python之项目路径的引入

        在Python中,通过安装anaconda就可以直接引用大部分工具包了,通过IDE也不用担心引用路径的问题。但如果是引入自定义的包、项目等,路径问题稍须转弯。        下图是我Demo的项目层次结构:Demo名称为---ImportPath;一级目录下有Main.py、Out...

2018-05-03 20:11:42

阅读数:1010

评论数:0

获取Python多线程的返回值

用python多线程时,遇到需要获取每个线程返回值的问题,经查资料学习总结如下:Python中使用线程有两种方式:用方法包装线程和用类包装线程方法一、用方法包装线程thread.start_new_thread ( function, args[, kwargs] )-function 表示线程需...

2018-04-21 18:39:43

阅读数:2943

评论数:1

Go环境变量配置及系统配置文件的区别

趁周末总结一下对学习和使用go的环境变量的理解。 一、Go环境变量         在学习和使用go的第一步便是下载安装并配置好环境,下载安装过程直接参见go官网指导,这里主要说一下对要配置的环境变量的理解。 (1)GOROOT:表示go在电脑上的安装位置,如我go的安装位置在/usr/...

2018-01-13 13:36:25

阅读数:964

评论数:0

Go---channel实现生产者消费者

一、无缓冲区 package main // 无缓冲的channel import ( "fmt" "time" ) func produce(ch chan<- int) { for i := 0; i < 10; i++ {...

2017-12-28 21:26:11

阅读数:685

评论数:1

Redis中的事务

事务同命令一样,都是Redis的最小执行单位,一个事务中的命令要么都执行,要么都不执行。 一、Redis事务的实现         Redis通过multi、exec、watch等命令来实现事务功能,Redis中一个事务从开始到结束包含三个阶段:事务开始、命令入队、事务执行。其中multi命令标志...

2017-11-29 18:41:19

阅读数:479

评论数:0

Redis发布与订阅功能

发布/订阅”功能包含两种角色:发布者和订阅者。Redis的发布与订阅功能由publish、subscribe、psubscribe等命令组成。通过执行publish命令可以发布消息;通过执行subscribe命令,客户端可以订阅一个或多个频道;通过执行psubscribe命令,客户端可以订阅一个或...

2017-11-29 18:11:10

阅读数:557

评论数:0

Redis的集群结构

Redis集群是Redis提供的分布式数据库方案,集群通过分片(sharding)进行数据共享,并提供复制和故障转移功能。 一、节点         同其他分布式的集群一样,Redis集群也是由多个相互独立的节点组成的,通过将各个相互独立的节点连接起来,构成一个包含多个节点的集群。通过CLUSTE...

2017-11-29 16:49:59

阅读数:327

评论数:0

Redis的监控功能

Redis通过引入一个或多个Sentinel实例组成的Sentinel系统以监视任意多个服务器,当主服务器进入下线状态时自动将从服务器升级为新的主服务器,然后由新服务器代替已下线的主服务器处理命令请求,达到提供高可用性的解决方案。 一、监控功能         Sentinel本质上是一个运行在特...

2017-11-29 16:10:59

阅读数:391

评论数:0

Redis的复制功能

Redis中,通过slaveof命令或者设置slaveof选项,让一个服务器去复制另一个服务器,从而形成主从服务器关系,具有主从关系的服务器数据库状态一致。Redis的复制功能分两个步骤实现:同步(sync)和命令传播(command propagate)。 同步操作是将从服务器数据库状态更新...

2017-11-29 11:54:31

阅读数:326

评论数:0

Redis中的事件

Redis服务器是一个事件驱动程序,服务器需要处理两类事件:文件事件和时间事件。 一、文件事件         Redis服务器通过套接字与客户端进行连接,文件事件就是服务器对套接字操作的抽象。         文件事件是由文件事件处理器处理的。文件事件处理器以单线程方式运行,使用I/O多路...

2017-11-28 16:30:11

阅读数:339

评论数:0

Redis数据持久化

由于Redis是内存数据库,一旦服务器进程退出,服务器中的数据库状态也会消失。为解决这个问题,Redis提供了RDB快照形式、AOF日志形式两种持久化方式,将内存中的数据保存到磁盘中,以免数据意外丢失。 一、RDB持久化         RDB持久化就是将服务器某个时间点上的数据库状态以快照形式保...

2017-11-28 15:20:02

阅读数:539

评论数:0

Redis键的生存时间和过期时间

Redis作为内存数据库,和memcached一样提供了设置键的生存时间和过期时间的功能。通过expire命令或者pexpire命令实现秒级或者毫秒级的生存时间的设置功能: EXPIRE : 将键的生存时间设为 ttl 秒PEXPIRE :将键的生存时间设为 ttl 毫秒EXPIREA...

2017-11-28 11:25:46

阅读数:3823

评论数:0

Redis数据库

在上一节介绍了Redis的对象系统:String、List、Hash、Set、ZSet,这些对象是如何组成Redis数据库与用户所见的数据库映射的呢? 一、 Redis服务器         在redis.h/redisServer结构中有关系数据库的两个属性:redisDb和dbnum,每个re...

2017-11-28 10:51:23

阅读数:527

评论数:0

Redis对象系统

在上一节学习Redis中的六种基础数据结构,但在Redis中并没有直接使用以上的数据结构实现键值对数据库,而是基于这些数据结构构建了一个对象系统:字符串对象(String)、列表对象(List)、哈希对象(Hash)、集合对象(Set)和有序集合对象(ZSet)。在Redis中每个对象都由一个re...

2017-11-27 18:28:36

阅读数:462

评论数:0

Redis的六种数据结构

本节将对Redis底层的六种数据结构展开详述:简单动态字符串、链表、字典、跳跃表、整数集合、压缩列表。 一、简单动态字符串(SDS)         Redis基于C语言开发但并没有直接使用C语言传统的字符串,而是构建一种叫简单动态字符串(simple dynamic string,SDS)的抽象...

2017-11-27 15:38:37

阅读数:3044

评论数:0

Kafka中的消息是否会丢失和重复消费

在之前的基础上,基本搞清楚了Kafka的机制及如何运用。这里思考一下:Kafka中的消息会不会丢失或重复消费呢?为什么呢?         要确定Kafka的消息是否丢失或重复,从两个方面分析入手:消息发送和消息消费         1、消息发送          Kafka消息发送有两种方式:同...

2017-11-21 16:10:26

阅读数:12473

评论数:2

Kafka的高级消费者与低级消费者

在Kafka实战章节,我们写的例子都是Kafka的高级消费实例,可以看到在消息消费者的程序中,我们只需要指定zookeeper、及消费群组的groupId即可实现从消息队列中消费消息,屏蔽了大量的底层细节:如消息的偏移量等信息都不在程序中维护。Kafka的高级消费实例,满足以下几点规则: (...

2017-11-20 12:08:03

阅读数:3315

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭